/* InfoGrunt — Ogłoszenia. Scoped product layer: .og-page / .og-* */

.og-page {
  --og-ink: #10251a;
  --og-brand: #0d3a26;
  --og-action: #17603b;
  --og-accent: #a7ff45;
  --og-page: #f4f7f1;
  --og-surface: #fffef9;
  --og-line: #d9e2d9;
  --og-muted: #455b4d;
  --og-secondary: #455b4d;
  background: var(--og-page);
  min-height: 100vh;
  color: var(--og-ink);
}
body.og-page { width: auto; min-width: 0; max-width: 100%; overflow-x: hidden; }
.og-wrap { max-width: 1100px; margin: 0 auto; padding: 30px 20px 72px; outline: 0; }
.og-wrap a { color: var(--og-action); }
.og-h1 { font-size: 28px; margin: 6px 0 18px; }

/* ---- task header ---- */
.og-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 18px; margin: 0 0 18px; }
.og-hero-txt h1 { margin: 0 0 5px; font-size: 29px; line-height: 1.12; letter-spacing: -.02em; }
.og-hero-txt p { max-width: 720px; margin: 0; color: var(--og-muted); font-size: 14.5px; line-height: 1.45; }
.og-add-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 0 17px;
  border: 1px solid var(--og-brand); border-radius: 11px; background: var(--og-brand); color: var(--og-accent) !important;
  font-size: 14px; font-weight: 800; text-decoration: none;
}
.og-add-btn:hover { background: #15412a; }
.og-add-btn:focus-visible, .og-tab:focus-visible, .og-category-rail a:focus-visible,
.og-filter-details > summary:focus-visible, .og-active-filters a:focus-visible, .og-card:focus-visible {
  outline: 3px solid #67b986; outline-offset: 3px;
}

/* ---- primary type and category navigation ---- */
.og-tabs { display: inline-grid; grid-template-columns: 1fr 1fr; gap: 3px; padding: 3px; margin: 0 0 12px; border: 1px solid var(--og-line); border-radius: 13px; background: #e9efe8; }
.og-tab { min-width: 112px; padding: 9px 18px; border-radius: 9px; color: #385044 !important; font-size: 14px; font-weight: 800; text-align: center; text-decoration: none; }
.og-tab.active { background: var(--og-surface); color: var(--og-brand) !important; box-shadow: 0 1px 3px rgba(16, 37, 26, .08); }
.og-location-search { display: none; }
.og-category-rail { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 16px; }
.og-category-rail a {
  display: inline-flex; align-items: center; gap: 5px; min-height: 38px; padding: 0 12px; border: 1px solid var(--og-line);
  border-radius: 999px; background: var(--og-surface); color: #385044 !important; font-size: 12.5px; font-weight: 750; text-decoration: none;
}
.og-category-rail a.active { border-color: var(--og-brand); background: var(--og-brand); color: #fff !important; }

/* ---- result tools and filters ---- */
.og-results-tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; margin: 0 0 12px; }
.og-count { margin: 0; min-height: 20px; color: var(--og-muted); font-size: 13.5px; font-weight: 650; }
.og-quick-sort { display: none; }
.og-filter-details { grid-column: 1 / -1; min-width: 0; }
.og-filter-details > summary { display: none; }
.og-filters {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; gap: 10px;
  min-width: 0; margin: 0; padding: 14px; border: 1px solid var(--og-line); border-radius: 14px;
  background: var(--og-surface); box-sizing: border-box;
}
.og-filter-field { display: grid; gap: 5px; min-width: 0; color: #486052; font-size: 11.5px; font-weight: 750; }
.og-filter-field > span { padding-left: 2px; }
.og-filter-field input, .og-filter-field select, .og-quick-sort select {
  width: 100%; min-width: 0; min-height: 44px; padding: 9px 11px; border: 1px solid #cfdacf; border-radius: 10px;
  background: #fbfdfb; color: var(--og-ink); font: inherit; font-size: 14px; font-weight: 500; box-sizing: border-box; outline: 0;
}
.og-filter-field input:focus, .og-filter-field select:focus, .og-quick-sort select:focus { border-color: var(--og-action); box-shadow: 0 0 0 3px rgba(23, 96, 59, .13); }
.og-f-q { grid-column: span 2; }
.og-filter-actions { display: flex; align-items: center; gap: 12px; min-height: 44px; }
.og-filter-actions button { min-height: 44px; padding: 0 18px; border: 0; border-radius: 10px; background: var(--og-brand); color: var(--og-accent); font: inherit; font-size: 13.5px; font-weight: 800; cursor: pointer; }
.og-filter-actions button:hover { background: #15412a; }
.og-filter-actions a { font-size: 13px; font-weight: 700; }
.og-active-filters { display: flex; flex-wrap: wrap; gap: 7px; margin: -2px 0 14px; }
.og-active-filters a { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 10px; border: 1px solid #c8d8ca; border-radius: 999px; background: #edf4ec; color: #31533f !important; font-size: 12px; font-weight: 700; text-decoration: none; }
.og-active-filters .og-clear-all { border-color: transparent; background: transparent; text-decoration: underline; }

/* ---- listing cards ---- */
.og-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.og-card {
  position: relative; display: grid; grid-template-columns: 124px minmax(0, 1fr) 18px; min-width: 0; min-height: 124px;
  overflow: hidden; border: 1px solid var(--og-line); border-radius: 14px; background: var(--og-surface);
  color: var(--og-ink) !important; text-decoration: none; transition: border-color .14s, box-shadow .14s;
}
.og-card.is-official { border-color: #bfd4c2; }
.og-card:hover { border-color: #91ad98; box-shadow: 0 2px 8px rgba(16, 37, 26, .08); }
.og-card-img { position: relative; display: block; width: 100%; aspect-ratio: 1 / 1; align-self: start; min-width: 0; height: auto; background: #eaf1e8; overflow: hidden; }
.og-card-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.og-card-noimg { display: grid; place-items: center; width: 100%; height: 100%; color: var(--og-brand); font-size: 42px; opacity: .78; }
.og-card-noimg .ig-svgico, .og-gallery-none .ig-svgico { width: 42px; height: 42px; }
.og-card-noimg-fallback { align-content: center; gap: 8px; padding: 10px 8px; color: #466450; font-size: 10.5px; line-height: 1.3; text-align: center; opacity: 1; overflow-wrap: anywhere; }
.og-media-icon { display: block; width: 24px; height: 24px; border: 2px solid currentColor; border-radius: 7px 7px 9px 9px; position: relative; opacity: .72; }
.og-media-icon::before { content: ''; position: absolute; left: 6px; top: 6px; width: 6px; height: 6px; border: 1.5px solid currentColor; border-radius: 50%; }
.og-media-icon::after { content: ''; position: absolute; left: 4px; bottom: 4px; width: 12px; height: 7px; border-left: 2px solid currentColor; border-top: 2px solid currentColor; transform: skew(-28deg) rotate(31deg); }
.og-parcel-preview { background: #e5eee2; }
.og-card-img .og-parcel-preview { filter: brightness(.92) contrast(1.06) saturate(.94); }
.og-card-body { display: flex; flex-direction: column; justify-content: center; gap: 6px; min-width: 0; padding: 11px 8px 11px 13px; }
.og-card-kicker { display: flex; flex-wrap: wrap; gap: 5px; min-height: 21px; }
.og-badge { display: inline-flex; align-items: center; width: fit-content; min-height: 21px; padding: 0 8px; border-radius: 999px; background: var(--og-brand); color: var(--og-accent); font-size: 10.5px; font-weight: 850; }
.og-badge-type { border: 1px solid #9fbaaa; background: transparent; color: #214d35; }
.og-badge-official { border: 1px solid #bcd9c4; background: #edf7ec; color: #145f35; }
.og-badge-automatic { max-width: 100%; min-height: 24px; border: 1px solid #e5c66d; background: #fff8df; color: #654d08; line-height: 1.25; white-space: normal; }
.og-badge-expired { border: 1px solid #e5b8ae; background: #fff1ed; color: #8d291d; }
.og-card.is-expired { border-color: #d9b8ad; background: #fffdfc; }
.og-card-title { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 15px; font-weight: 820; line-height: 1.22; overflow-wrap: anywhere; text-wrap: pretty; }
.og-card-parcels { color: #31533f; font-size: 11.5px; font-weight: 760; line-height: 1.3; overflow-wrap: anywhere; }
.og-card-price { color: #126739; font-size: 16px; font-weight: 900; }
.og-card-price.is-missing { max-width: 32ch; font-size: 12.5px; line-height: 1.25; }
.og-card-m2, .og-card-loc, .og-card-area, .og-card-publisher { overflow: hidden; color: var(--og-muted); font-size: 12px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.og-card-publisher { color: var(--og-action); font-weight: 750; }
.og-card-facts { display: flex; min-width: 0; overflow: hidden; color: var(--og-muted); font-size: 12px; line-height: 1.3; white-space: nowrap; }
.og-card-facts span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.og-card-facts span + span::before { content: '·'; margin: 0 6px; color: #8b9c90; }
.og-card-summary { display: flex; min-width: 0; overflow: hidden; color: var(--og-muted); font-size: 12px; line-height: 1.3; white-space: nowrap; }
.og-card-summary span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.og-card-summary span + span::before { content: '·'; margin: 0 6px; color: #8b9c90; }
.og-card-meta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 5px 7px; margin-top: auto; color: var(--og-secondary); font-size: 11px; }
.og-chip { min-width: 0; overflow: hidden; color: #31533f; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.og-card-date { flex: 1 1 125px; color: #4b5f53; font-weight: 750; line-height: 1.25; text-align: right; overflow-wrap: anywhere; }
.og-card.is-expired .og-card-date { color: #8d291d; }
.og-card-arrow { align-self: center; color: #678071; font-size: 25px; font-weight: 400; }

/* ---- empty / pager / note ---- */
.og-empty { padding: 42px 24px; border: 1px solid var(--og-line); border-radius: 16px; background: var(--og-surface); text-align: center; }
.og-empty-emoji { display: grid; place-items: center; margin-bottom: 8px; color: var(--og-brand); }
.og-empty-emoji .ig-svgico { width: 50px; height: 50px; }
.og-inline-icon { display: inline-flex; vertical-align: -.15em; }
.og-inline-icon .ig-svgico { width: 1em; height: 1em; }
.og-empty h1, .og-empty h2 { margin: 0 0 8px; font-size: 22px; }
.og-empty p { max-width: 460px; margin: 0 auto 20px; color: var(--og-muted); }
.og-pager { display: flex; justify-content: center; align-items: center; gap: 18px; margin: 26px 0 4px; font-weight: 700; }
.og-pager a { padding: 10px 18px; border: 1px solid var(--og-line); border-radius: 10px; background: var(--og-surface); text-decoration: none; }
.og-pager span { color: var(--og-muted); font-size: 14px; }
.og-selection-note { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 14px; max-width: 840px; margin: 30px auto 0; padding: 18px 0; border-top: 1px solid #b9cdbd; border-bottom: 1px solid #d4e0d6; color: var(--og-ink); }
.og-selection-note-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: #e6f1e4; color: var(--og-action); font-size: 25px; font-weight: 800; }
.og-selection-note h2 { margin: 0 0 5px; color: var(--og-brand); font-size: 15px; line-height: 1.3; }
.og-selection-note p { max-width: 72ch; margin: 0; color: #40594a; font-size: 13px; line-height: 1.55; }
.og-selection-note .og-selection-note-boundary { margin-top: 5px; color: #5a6b5f; font-size: 12.5px; }
.og-foot-note { max-width: 760px; margin: 14px auto 0; color: #5a6b5f; font-size: 12.5px; line-height: 1.55; text-align: center; }

/* ---- breadcrumb / banery ---- */
.og-bread { font-size: 13px; color: #536457; margin: 2px 0 14px; }
.og-bread a { text-decoration: none; }
.og-bread a:hover { text-decoration: underline; }
.og-closed-banner, .og-owner-banner {
  border-radius: 13px; padding: 12px 16px; font-size: 14px; font-weight: 600; margin-bottom: 16px;
}
.og-closed-banner { background: #fff3cd; color: #664d03; border: 1px solid #ffe69c; }
.og-owner-banner { background: #e7f5ec; color: #15412a; border: 1px solid #c2e4cf; }

/* ---- strona ogłoszenia ---- */
.og-item { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; align-items: start; }
.og-item-main { background: #fff; border-radius: 18px; padding: 18px; box-shadow: 0 6px 18px rgba(0, 0, 0, .06); min-width: 0; }
.og-item-side { position: sticky; top: 86px; }
.og-gallery { width: 100%; overflow: hidden; border-radius: 14px; }
.og-gallery-main { width: 100%; max-width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; background: #0f241808; border-radius: 14px; display: block; }
.og-gallery-main.og-parcel-preview { aspect-ratio: 16 / 9; object-fit: cover; }
.og-parcel-count-chip { background: #e9f3f8; color: #1f5873; border: 1px solid #bdd8e6; }
.og-parcel-gallery { width: 100%; min-width: 0; }
.og-parcel-gallery-frame { position: relative; min-width: 0; }
.og-parcel-gallery-rail { display: flex; width: 100%; max-width: 100%; margin: 0; padding: 0; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: thin; list-style: none; border-radius: 14px; }
.og-parcel-gallery-rail:focus-visible { outline: 3px solid #1769aa; outline-offset: 3px; }
.og-parcel-gallery-slide { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; scroll-snap-stop: always; }
.og-parcel-gallery-slide figure { margin: 0; }
.og-parcel-gallery-slide .og-gallery-main { border-radius: 14px 14px 0 0; }
.og-parcel-gallery-caption { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px 12px; padding: 10px 12px; border: 1px solid #d7e5d8; border-top: 0; border-radius: 0 0 14px 14px; background: #fbfdf9; color: #284235; font-size: 13px; line-height: 1.35; }
.og-parcel-gallery-caption-main { display: flex; flex: 1 1 auto; flex-wrap: wrap; gap: 3px 8px; min-width: 0; }
.og-parcel-gallery-caption-main span + span::before { content: '·'; margin-right: 8px; color: #768b7b; }
.og-preview-tier { flex: 0 1 auto; display: inline-flex; min-height: 21px; align-items: center; padding: 2px 8px; border: 1px solid transparent; border-radius: 999px; font-size: 10.5px; font-weight: 800; line-height: 1.25; text-align: right; }
.og-preview-tier--exact { border-color: #bcd9c4; background: #edf7ec; color: #145f35; }
.og-preview-tier--parent { border-color: #edd394; background: #fff7e6; color: #76520b; }
.og-preview-tier--context { border-color: #bdd8e6; background: #e9f3f8; color: #1f5873; }
.og-preview-tier--document { border-color: #d6d9d7; background: #f2f3f2; color: #45514a; }
.og-parcel-gallery-arrow { position: absolute; z-index: 2; top: calc((100% - 44px) / 2); width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; background: rgba(16,37,26,.84); color: #fff; font: inherit; font-size: 31px; line-height: 1; cursor: pointer; box-shadow: 0 2px 10px rgba(4,26,14,.28); }
.og-parcel-gallery-arrow:hover:not(:disabled) { background: #17472d; }
.og-parcel-gallery-arrow:disabled { opacity: .48; cursor: default; }
.og-parcel-gallery-prev { left: 10px; }
.og-parcel-gallery-next { right: 10px; }
.og-parcel-gallery-index { display: flex; gap: 7px; margin-top: 10px; padding: 0 1px 3px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.og-parcel-gallery-index a { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 7px 11px; border: 1px solid #c8d8ca; border-radius: 10px; background: #fff; color: #31533f; font-size: 12px; font-weight: 800; text-decoration: none; }
.og-parcel-gallery-index a:hover, .og-parcel-gallery-index a[aria-current="true"] { border-color: #1f7a3d; background: #edf7ec; color: #145f35; }
.og-parcel-gallery-status { margin: 7px 1px 0; color: #536457; font-size: 12px; font-weight: 700; }
.og-gallery-official-fallback { min-height: 0; padding: 18px; color: #466450; text-align: center; font-size: 13px; overflow: hidden; }
.og-gallery-none {
  display: grid; place-items: center; align-content: center; gap: 10px; aspect-ratio: 1 / 1; width: 100%; box-sizing: border-box; border-radius: 14px;
  background: #eef4ea; font-size: 13px; color: #103221; overflow: hidden; overflow-wrap: anywhere;
}
.og-gallery-none span { font-size: 13px; color: var(--og-secondary); }
.og-gallery-thumbs { display: flex; gap: 8px; margin-top: 10px; }
.og-thumb { width: 86px; height: 64px; border-radius: 10px; overflow: hidden; border: 2px solid transparent; padding: 0; cursor: pointer; background: none; }
.og-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.og-thumb.active { border-color: #1f7a3d; }
.og-item-title { font-size: 24px; margin: 16px 0 4px; line-height: 1.25; overflow-wrap: break-word; }
.og-item-meta { font-size: 12.5px; color: var(--og-secondary); margin: 0 0 14px; }
.og-item-desc { font-size: 15px; line-height: 1.6; white-space: normal; overflow-wrap: break-word; margin-bottom: 18px; }
.og-keyfacts { margin: 0 0 18px; padding: 14px 16px; border: 1px solid #d7e6d8; border-radius: 14px; background: #f4faf1; }
.og-keyfacts h2 { margin: 0 0 9px; color: #17472d; font-size: 15px; }
.og-keyfacts dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; margin: 0; }
.og-keyfacts dl > div { min-width: 0; }
.og-keyfacts dt { color: var(--og-secondary); font-size: 11px; font-weight: 750; }
.og-keyfacts dd { margin: 2px 0 0; color: #10251a; font-size: 14px; font-weight: 760; overflow-wrap: anywhere; }
.og-source-detail { margin: 0 0 16px; border-top: 1px solid #e5ece5; padding-top: 10px; }
.og-source-detail summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; color: #17603b; font-size: 13px; font-weight: 750; }
.og-source-detail p { margin: 4px 0 0; color: #536457; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.og-documents ul { margin: 0; padding-left: 18px; }
.og-documents li { margin: 6px 0; color: #536457; font-size: 13px; }
.og-item-details { width: 100%; border-collapse: collapse; font-size: 14px; margin-bottom: 18px; }
.og-item-details th, .og-item-details td { text-align: left; padding: 9px 10px; border-bottom: 1px solid #eef2ee; vertical-align: top; }
.og-item-details th { width: 140px; color: #536457; font-weight: 600; }
.og-item-report { margin: 6px 0 0; }
.og-link-btn { background: none; border: 0; color: var(--og-action); font-size: 13px; cursor: pointer; font-weight: 750; text-decoration: underline; text-underline-offset: 2px; padding: 4px 0; }
.og-link-btn:hover { color: #b3261e; }

.og-report-box {
  display: flex; align-items: center; gap: 12px; text-decoration: none; margin: 4px 0 16px;
  background: #e8f5eb; border: 1.5px solid #bfe3cc; border-radius: 14px; padding: 14px 16px;
}
.og-report-box:hover { border-color: #1f7a3d; }
.og-report-ico { display: grid; place-items: center; width: 26px; height: 26px; }
.og-report-ico .ig-svgico { width: 26px; height: 26px; }
.og-report-txt { flex: 1; min-width: 0; color: #103221; }
.og-report-txt strong { display: block; font-size: 14.5px; }
.og-report-txt small { color: #536457; font-size: 12.5px; }
.og-report-arrow { font-size: 20px; font-weight: 900; color: #1f7a3d; }

.og-price-box { background: #fff; border-radius: 18px; padding: 20px 18px; box-shadow: 0 6px 18px rgba(0, 0, 0, .06); }
.og-price-val { font-size: 26px; font-weight: 900; color: #15703a; margin-bottom: 12px; }
.og-phone-btn {
  width: 100%; padding: 13px; border: 0; border-radius: 13px; cursor: pointer; font-weight: 800; font-size: 15px;
  background: #103221; color: #a7ff45;
}
.og-phone-btn:hover { background: #15412a; }
.og-wrap .og-source-btn {
  display: block; width: 100%; padding: 13px; border-radius: 13px; box-sizing: border-box;
  background: #103221; color: #a7ff45; font-weight: 800; font-size: 15px; text-align: center;
  text-decoration: none;
}
.og-source-btn:hover { background: #15412a; }
.og-no-phone { font-size: 13px; color: var(--og-secondary); margin: 0; }
/* Dwa działania w kafelku ceny to dwa osobne kafelki. Bez odstępu zlewały się
   w jeden zielony blok (zgłoszenie ownera 2026-09-11). */
.og-source-btn + .og-phone-btn,
.og-source-btn + .og-no-phone { margin-top: 10px; }
.og-safe-note { font-size: 12px; color: var(--og-secondary); line-height: 1.45; margin: 12px 0 0; }

/* Text actions remain distinguishable without colour alone. */
.og-source-detail a, .og-documents a, .og-item-details a { color: var(--og-action); font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }
.og-source-detail a:visited, .og-documents a:visited, .og-item-details a:visited { color: #17472d; }
.og-link-btn:hover, .og-source-detail a:hover, .og-documents a:hover, .og-item-details a:hover { color: #0a4328; text-decoration-thickness: 2px; }
.og-wrap :is(.og-link-btn, .og-source-btn, .og-phone-btn, .og-report-box, .og-source-detail summary, .og-documents a, .og-item-details a):focus-visible {
  outline: 3px solid #17603b;
  outline-offset: 3px;
}
.og-wrap .og-source-btn:visited { color: #d6ff9f; }

/* ---- formularz ---- */
.og-form { max-width: 760px; }
.og-fs { background: #fff; border: 0; border-radius: 16px; padding: 16px 18px 18px; margin: 0 0 14px; box-shadow: 0 5px 16px rgba(0, 0, 0, .06); }
.og-fs legend { font-weight: 800; font-size: 15px; padding: 0 6px; }
.og-fs legend small { color: #8a978d; font-weight: 600; }
.og-row { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-end; }
.og-field { display: flex; flex-direction: column; gap: 6px; flex: 1 1 200px; margin: 8px 0 2px; }
.og-field > span { font-size: 13px; font-weight: 700; color: #2f5a3e; }
.og-field > span small { color: #8a978d; font-weight: 500; }
.og-field input, .og-field select, .og-field textarea {
  padding: 11px 13px; border: 1.5px solid #d5e0d6; border-radius: 12px; font-size: 15px;
  background: #fbfdfb; color: #103221; outline: none; font-family: inherit; width: 100%; box-sizing: border-box;
}
.og-field input:focus, .og-field select:focus, .og-field textarea:focus { border-color: #1f7a3d; box-shadow: 0 0 0 3px rgba(31, 122, 61, .12); }
.og-check { display: flex; gap: 8px; align-items: center; font-size: 14px; margin: 10px 0 2px; cursor: pointer; }
.og-check input { width: 18px; height: 18px; accent-color: #1f7a3d; }
.og-terms { align-items: flex-start; line-height: 1.45; }
.og-terms input { margin-top: 2px; flex: 0 0 auto; }
.og-kind-row { display: flex; gap: 10px; }
.og-kind { flex: 1; cursor: pointer; }
.og-kind input { position: absolute; opacity: 0; }
.og-kind span {
  display: block; text-align: center; padding: 14px 10px; border: 2px solid #d5e0d6; border-radius: 14px;
  font-weight: 800; font-size: 15px; line-height: 1.3; transition: border-color .12s, background .12s;
}
.og-kind small { font-weight: 600; color: #8a978d; }
.og-kind input:checked + span { border-color: #1f7a3d; background: #ecf8ef; }
.og-kind input:focus-visible + span { border-color: #1f7a3d; box-shadow: 0 0 0 3px rgba(31, 122, 61, .25); }
.og-parcel-link { margin-top: 10px; background: #ecf8ef; border: 1px solid #bfe3cc; border-radius: 12px; padding: 10px 14px; font-size: 13.5px; }
.og-photos { display: flex; gap: 12px; flex-wrap: wrap; }
.og-photo-slot { position: relative; width: 132px; height: 100px; border-radius: 13px; overflow: hidden; background: #f0f6ee; }
.og-photo-add {
  width: 100%; height: 100%; border: 2px dashed #c4d4c6; border-radius: 13px; background: none;
  cursor: pointer; font-size: 18px; color: #6a7b6e; line-height: 1.3;
}
.og-photo-add:hover { border-color: #1f7a3d; color: #1f7a3d; }
.og-photo-add small { font-size: 12px; }
.og-photo-prev { width: 100%; height: 100%; object-fit: cover; display: block; }
.og-photo-del {
  position: absolute; top: 6px; right: 6px; width: 26px; height: 26px; border: 0; border-radius: 8px;
  background: rgba(255, 255, 255, .94); color: #b3261e; font-size: 17px; line-height: 1; cursor: pointer;
}
.og-form-err { background: #fde8e6; color: #93281f; border: 1px solid #f5c6c1; border-radius: 12px; padding: 12px 16px; font-size: 14px; font-weight: 600; margin-bottom: 12px; }
.og-submit { width: 100%; font-size: 16px; padding: 15px; }
.og-submit:disabled { opacity: .6; transform: none; cursor: default; }
.og-form-note { font-size: 12.5px; color: #8a978d; text-align: center; margin-top: 10px; }
.og-login-gate { max-width: 560px; margin: 0 auto; }

/* ---- moje ogłoszenia ---- */
.og-mine { display: flex; flex-direction: column; gap: 10px; }
.og-mine-row {
  display: flex; gap: 14px; align-items: center; background: #fff; border-radius: 15px; padding: 12px 14px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .06); flex-wrap: wrap;
}
.og-mine-img { width: 84px; height: 64px; border-radius: 10px; object-fit: cover; background: #eef4ea; display: grid; place-items: center; font-size: 28px; flex: 0 0 auto; }
.og-mine-info { flex: 1 1 220px; min-width: 0; }
.og-mine-title { font-weight: 700; font-size: 14.5px; text-decoration: none; color: #103221 !important; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.og-mine-sub { font-size: 12.5px; color: #8a978d; margin-top: 3px; }
.og-mine-status { font-size: 11.5px; font-weight: 800; padding: 3px 10px; border-radius: 999px; }
.og-mine-status.st-active { background: #e7f5ec; color: #15703a; }
.og-mine-status.st-closed { background: #f0f0f0; color: #6a6a6a; }
.og-mine-status.st-expired { background: #fff3cd; color: #664d03; }
.og-mine-status.st-blocked { background: #fde8e6; color: #93281f; }
.og-mine-blocked { font-size: 12px; color: #93281f; font-weight: 600; }
.og-mine-acts { display: flex; gap: 6px; flex-wrap: wrap; }
.og-mine-acts button, .og-mine-acts a {
  border: 1px solid #d5e0d6; background: #fbfdfb; color: #2f5a3e; border-radius: 10px;
  padding: 7px 12px; font-size: 12.5px; font-weight: 700; cursor: pointer; text-decoration: none;
}
.og-mine-acts button:hover, .og-mine-acts a:hover { border-color: #1f7a3d; }
.og-mine-acts .danger { color: #b3261e; }
.og-mine-acts .danger:hover { border-color: #b3261e; background: #fde8e6; }

/* ---- regulamin ---- */
.og-terms-page { background: #fff; border-radius: 20px; padding: 28px 30px 30px; box-shadow: 0 6px 18px rgba(0, 0, 0, .06); max-width: 820px; line-height: 1.6; }
.og-terms-page h1 { font-size: 24px; margin-top: 0; }
.og-terms-page h2 { font-size: 18px; margin: 24px 0 10px; }
.og-terms-page ol { padding-left: 22px; }
.og-terms-page li { margin-bottom: 8px; font-size: 14.5px; }
.og-terms-date { color: #8a978d; font-size: 13px; }

/* ---- modal zgłoszenia (JS) ---- */
html.og-modal-open, body.og-modal-open { overflow: hidden; overscroll-behavior: none; }
/* The consent banner is already inert and aria-hidden while the report dialog
   is open. Hide that same background layer visually; removing og-modal-open
   restores the banner's exact previous state. */
html.og-modal-open #cookieBanner { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }
.og-modal { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 14px 14px max(14px, env(safe-area-inset-bottom, 0px)); box-sizing: border-box; }
.og-modal-bg { position: absolute; inset: 0; background: rgba(8, 22, 14, .55); }
.og-modal-card { position: relative; z-index: 1; width: min(420px, 100%); max-height: calc(100dvh - 28px - env(safe-area-inset-bottom, 0px)); overflow: auto; overscroll-behavior: contain; background: #fff; border-radius: 18px; padding: 20px; box-shadow: 0 26px 70px rgba(7, 31, 18, .4); box-sizing: border-box; }
.og-modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.og-modal-card h2 { margin: 7px 0 10px; color: #103221; font-size: 18px; line-height: 1.3; }
.og-modal-close { flex: 0 0 44px; width: 44px; min-height: 44px; margin: -4px -4px 0 0; border: 0; border-radius: 10px; background: #edf4ed; color: #103221; font: inherit; font-size: 28px; line-height: 1; cursor: pointer; }
.og-modal-close:hover { background: #dcebdd; }
.og-modal-card textarea { width: 100%; box-sizing: border-box; min-height: 90px; padding: 11px 13px; border: 1.5px solid #d5e0d6; border-radius: 12px; font-size: 14px; font-family: inherit; }
.og-modal-description { margin: 0 0 12px; color: #455b4d; font-size: 14px; line-height: 1.45; }
.og-modal-label { display: block; margin: 0 0 6px; color: #103221; font-size: 14px; font-weight: 800; }
.og-modal-acts { display: flex; gap: 10px; margin-top: 12px; }
.og-modal-acts button { flex: 1; min-height: 44px; padding: 11px; border: 0; border-radius: 11px; font-weight: 800; cursor: pointer; }
.og-modal-send { background: #103221; color: #a7ff45; }
.og-modal-send:hover:not(:disabled) { background: #15412a; }
.og-modal-send:disabled { cursor: progress; opacity: .75; }
.og-modal-cancel { background: #f0f4ef; color: #3a4a40; }
.og-modal-cancel:hover { background: #e2ece2; }
.og-modal-card :is(textarea, button):focus-visible { outline: 3px solid #17603b; outline-offset: 3px; }
.og-modal-status { min-height: 1.4em; margin: 10px 0 0; font-size: 14px; line-height: 1.45; }
.og-modal-ok { color: #15703a; font-weight: 700; }
.og-modal-error { color: #9e251d; font-weight: 700; }

/* ---- mobile ---- */
@media (max-width: 980px) {
  .og-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .og-wrap { padding: 22px 14px calc(84px + env(safe-area-inset-bottom, 0px)); }
  .og-item { grid-template-columns: 1fr; }
  .og-item-side { position: static; }
  .og-hero-txt h1 { font-size: 24px; }
  .og-grid { grid-template-columns: 1fr; gap: 9px; }
  .og-card { grid-template-columns: 110px minmax(0, 1fr) 16px; min-height: 110px; }
  .og-card-title { font-size: 14.5px; }
  .og-card-price { font-size: 15.5px; }
  .og-gallery-main { max-height: none; }
  .og-item-title { font-size: 20px; }
  .og-terms-page { padding: 20px 18px; }
}
.og-filter-details:not([open]) > .og-filters { display: grid; }
@media (max-width: 700px) {
  .og-hero { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; margin-bottom: 14px; }
  .og-hero-txt h1 { font-size: 23px; }
  .og-hero-txt p { font-size: 13px; line-height: 1.42; }
  .og-add-btn { min-height: 44px; padding: 0 12px; font-size: 13px; }
  .og-tabs { display: grid; width: 100%; box-sizing: border-box; }
  .og-tab { min-width: 0; min-height: 44px; padding: 10px 12px; box-sizing: border-box; }
  .og-location-search {
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px;
    margin: 0 0 12px; padding: 7px; border: 1px solid var(--og-line); border-radius: 12px; background: var(--og-surface);
  }
  .og-location-search label { display: inline-flex; align-items: center; gap: 4px; padding-left: 5px; color: #385044; font-size: 12px; font-weight: 800; }
  .og-location-search label span { color: var(--og-action); font-size: 18px; line-height: 1; }
  .og-location-search input { width: 100%; min-width: 0; min-height: 44px; padding: 8px 10px; border: 1px solid #cfdacf; border-radius: 9px; background: #fbfdfb; color: var(--og-ink); font: inherit; font-size: 13px; box-sizing: border-box; outline: 0; }
  .og-location-search input:focus { border-color: var(--og-action); box-shadow: 0 0 0 3px rgba(23, 96, 59, .13); }
  .og-location-search button { min-height: 44px; padding: 0 12px; border: 0; border-radius: 9px; background: var(--og-brand); color: var(--og-accent); font: inherit; font-size: 12.5px; font-weight: 850; cursor: pointer; }
  .og-category-rail { flex-wrap: nowrap; margin-right: -14px; margin-left: -14px; padding: 0 14px 5px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
  .og-category-rail::-webkit-scrollbar { display: none; }
  .og-category-rail a { flex: 0 0 auto; min-height: 44px; }
  .og-active-filters a { min-height: 44px; }
  .og-results-tools { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
  .og-count { grid-column: 1 / -1; }
  .og-quick-sort { display: block; grid-column: 2; grid-row: 2; min-width: 0; }
  .og-quick-sort label { display: block; }
  .og-quick-sort label > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .og-quick-sort select { padding-right: 24px; background: var(--og-surface); font-size: 12px; font-weight: 750; }
  .og-filter-details { grid-column: 1; grid-row: 2; }
  .og-filter-details > summary { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 0 12px; border: 1px solid #cfdacf; border-radius: 10px; background: var(--og-surface); color: var(--og-brand); font-size: 13px; font-weight: 800; cursor: pointer; list-style: none; box-sizing: border-box; }
  .og-filter-details > summary::-webkit-details-marker { display: none; }
  .og-filter-details:not([open]) > .og-filters { display: none; }
  .og-filter-details[open] > .og-filters { width: calc(200% + 8px); }
  .og-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 8px; padding: 12px; }
  .og-f-q { grid-column: 1 / -1; }
  .og-f-wide-mobile { grid-column: 1 / -1; }
  .og-f-sort { display: none; }
  .og-filter-actions { grid-column: 1 / -1; }
  .og-filter-actions button { flex: 1 1 auto; }
  .og-active-filters { flex-wrap: nowrap; margin-right: -14px; margin-left: -14px; padding: 0 14px 4px; overflow-x: auto; scrollbar-width: none; }
  .og-active-filters::-webkit-scrollbar { display: none; }
  .og-active-filters a { flex: 0 0 auto; }
  .og-card { grid-template-columns: 104px minmax(0, 1fr) 14px; min-height: 104px; }
  .og-card-body { gap: 5px; padding: 9px 6px 9px 11px; }
  .og-card-kicker { min-height: 20px; }
  .og-badge { min-height: 20px; padding: 0 7px; font-size: 10px; }
  .og-card-title { min-height: 0; }
  .og-card-meta { margin-top: 4px; }
  .og-selection-note { grid-template-columns: 36px minmax(0, 1fr); gap: 11px; margin-top: 24px; padding: 16px 0; }
  .og-selection-note-icon { width: 36px; height: 36px; border-radius: 10px; font-size: 21px; }
  .og-foot-note { margin-top: 22px; text-align: left; }
  .og-parcel-gallery-caption { display: grid; grid-template-columns: minmax(0, 1fr); gap: 7px; padding: 10px; }
  .og-preview-tier { justify-self: start; text-align: left; }
  .og-parcel-gallery-arrow { top: calc((100% - 44px) / 2); }
}
@media (max-width: 350px) {
  .og-parcel-gallery-caption { font-size: 12px; }
  .og-parcel-gallery-caption-main { display: block; }
  .og-parcel-gallery-caption-main span { display: block; margin-top: 2px; }
  .og-parcel-gallery-caption-main span + span::before { content: none; margin: 0; }
  .og-parcel-gallery-prev { left: 6px; }
  .og-parcel-gallery-next { right: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .og-parcel-gallery-rail { scroll-behavior: auto; }
}
@media (max-width: 350px) {
  .og-wrap { padding-right: 10px; padding-left: 10px; }
  .og-hero { grid-template-columns: minmax(0, 1fr) auto; }
  .og-hero-txt h1 { font-size: 21px; }
  .og-hero-txt p { font-size: 12.5px; }
  .og-add-btn { padding: 0 9px; }
  .og-location-search { grid-template-columns: auto minmax(0, 1fr); }
  .og-location-search button { grid-column: 1 / -1; min-height: 44px; }
  .og-category-rail, .og-active-filters { margin-right: -10px; margin-left: -10px; padding-right: 10px; padding-left: 10px; }
  .og-card { grid-template-columns: 96px minmax(0, 1fr) 12px; min-height: 96px; }
  .og-card-body { padding-left: 9px; }
  .og-keyfacts dl { grid-template-columns: 1fr; }
  .og-item-main { padding: 12px; }
}

/* Pozycje oferty: jedna działka, kilka osobno wycenionych części (2026-09-12) */
.og-count-history { color: var(--og-secondary); font-weight: 600; white-space: nowrap; }
.og-lots { margin: 0 0 18px; }
.og-lots h2 { margin: 0 0 6px; color: #17472d; font-size: 15px; }
.og-lots-note { margin: 0 0 10px; color: var(--og-secondary); font-size: 12.5px; line-height: 1.5; }
.og-tablewrap { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.og-tablewrap:focus-visible { outline: 3px solid rgba(23, 109, 170, .72); outline-offset: 3px; }
.og-lots-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.og-lots-table th, .og-lots-table td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #e4ebe5; }
.og-lots-table th { color: var(--og-secondary); font-size: 11px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.og-lots-table td:first-child { color: #10251a; font-weight: 700; }
.og-lots-table td:last-child { white-space: nowrap; }
@media (max-width: 620px) {
  .og-lots-table { min-width: 420px; }
}


/* ---- listings redesign from approved 2026-09-12 mockup ---- */

.og-page { --og-page: #f3f6f0; --og-surface: #fffefb; }
.og-wrap { max-width: 1120px; padding-top: 24px; }
.og-hero {
  position: relative; isolation: isolate; display: block; min-height: 218px; margin: 0 0 16px; padding: 34px 43% 30px 34px;
  overflow: hidden; border: 1px solid #d8e5d5; border-radius: 24px; background: #edf4e8; box-sizing: border-box;
}
.og-hero::before {
  content: ''; position: absolute; z-index: 1; inset: 0;
  background: linear-gradient(90deg, #edf4e8 0%, #edf4e8 45%, rgba(237,244,232,.93) 55%, rgba(237,244,232,.12) 78%);
  pointer-events: none;
}
.og-hero-txt { position: relative; z-index: 2; }
.og-hero-txt h1 { margin: 0 0 9px; font-size: clamp(34px, 4.2vw, 52px); line-height: .98; letter-spacing: -.045em; }
.og-hero-txt p { max-width: 620px; color: #355143; font-size: 14px; line-height: 1.5; }
.og-hero .og-add-btn { min-height: 42px; margin-top: 18px; padding: 0 15px; border-radius: 12px; }
.og-hero-media { position: absolute; z-index: 0; inset: 0 0 0 auto; width: 48%; height: 100%; }
.og-hero-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.og-primary-search {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; margin: 0 0 14px; padding: 7px;
  border: 1px solid #d2ddd1; border-radius: 16px; background: #fff; box-shadow: 0 7px 22px rgba(16,37,26,.055); box-sizing: border-box;
}

.og-search-icon { display: grid; place-items: center; width: 38px; height: 38px; color: #326148; font-size: 25px; line-height: 1; }
.og-primary-search input {
  width: 100%; min-width: 0; min-height: 46px; padding: 8px 4px; border: 0; background: transparent; color: var(--og-ink);
  font: inherit; font-size: 15px; outline: 0;
}
.og-primary-search input::placeholder { color: #77887d; }
.og-primary-search:focus-within { border-color: #7fa38b; box-shadow: 0 0 0 3px rgba(23,96,59,.11), 0 7px 22px rgba(16,37,26,.055); }
.og-primary-search button {
  min-height: 46px; padding: 0 22px; border: 0; border-radius: 11px; background: var(--og-brand); color: var(--og-accent);
  font: inherit; font-size: 13.5px; font-weight: 850; cursor: pointer;
}
.og-primary-search button:hover { background: #15412a; }
.og-category-rail { flex-wrap: nowrap; gap: 8px; margin: 0 -2px 17px; padding: 2px 2px 3px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
.og-category-rail::-webkit-scrollbar { display: none; }
.og-category-rail a { flex: 0 0 auto; min-height: 38px; padding: 0 14px; border-color: #d5dfd4; box-shadow: 0 1px 0 rgba(16,37,26,.025); }
.og-results-tools { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 8px; margin-bottom: 14px; }
.og-count { grid-column: 1; font-size: 13.5px; }
.og-quick-sort { display: block; grid-column: 3; min-width: 0; }
.og-quick-sort label > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.og-quick-sort select { min-width: 154px; min-height: 46px; padding: 8px 32px 8px 12px; background: #fff; font-size: 12.5px; font-weight: 760; }

.og-filter-details { position: relative; grid-column: 2; min-width: 0; }
.og-filter-details > summary {
  display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 46px; padding: 0 14px; border: 1px solid #cfdacf;
  border-radius: 10px; background: #fff; color: var(--og-brand); font-size: 12.5px; font-weight: 800; cursor: pointer; list-style: none; box-sizing: border-box;
}
.og-filter-details > summary::-webkit-details-marker { display: none; }
.og-filter-details:not([open]) > .og-filters { display: none; }
.og-filter-details[open] > .og-filters {
  position: absolute; z-index: 30; top: calc(100% + 8px); right: 0; width: min(920px, calc(100vw - 40px)); max-height: min(72vh, 660px);
  overflow: auto; grid-template-columns: repeat(4, minmax(0,1fr)); margin: 0; padding: 16px; border-radius: 16px;
  box-shadow: 0 20px 55px rgba(16,37,26,.18);
}
.og-active-filters { margin-top: -3px; }
.og-grid { gap: 14px; }
.og-card {
  grid-template-columns: 132px minmax(0,1fr) 32px; min-height: 132px; padding: 6px; overflow: hidden; border-color: #dbe4da; border-radius: 18px;
  background: #fff; box-shadow: 0 1px 1px rgba(16,37,26,.025); transition: border-color .14s, box-shadow .14s, transform .14s;
}
.og-card:hover { border-color: #9bb5a1; box-shadow: 0 10px 26px rgba(16,37,26,.085); transform: translateY(-1px); }
.og-card-img { width: 120px; height: 120px; aspect-ratio: 1 / 1; align-self: center; border-radius: 13px; }
.og-card-body { gap: 6px; padding: 9px 7px 9px 10px; }

.og-card-kicker { min-height: 22px; }
.og-badge { min-height: 22px; padding: 0 8px; }
.og-badge-type { border-color: #d0dfd2; background: #f5f8f3; color: #31513d; }
.og-badge-official { border-color: #b9d7c0; background: #eaf6e8; color: #145f35; }
.og-card-title { font-size: 15.5px; line-height: 1.25; }
.og-card-price { color: #0f6b37; font-size: 18px; letter-spacing: -.01em; }
.og-card-summary { color: #52685b; font-size: 11.75px; }
.og-card-arrow {
  display: grid; place-items: center; align-self: center; width: 28px; height: 28px; border-radius: 999px; background: #edf3ec;
  color: #3f6650; font-size: 22px; line-height: 1;
}
.og-selection-note { max-width: 920px; }

@media (max-width: 860px) {
  .og-hero { min-height: 205px; padding: 27px 38% 25px 25px; border-radius: 20px; }
  .og-hero::before { background: linear-gradient(90deg, #edf4e8 0%, #edf4e8 53%, rgba(237,244,232,.86) 67%, rgba(237,244,232,.18) 100%); }
  .og-hero-media { width: 45%; }
  .og-grid { gap: 11px; }
  .og-card { grid-template-columns: 122px minmax(0,1fr) 30px; min-height: 122px; }
  .og-card-img { width: 110px; height: 110px; }
}

@media (max-width: 700px) {
  .og-wrap { padding-top: 14px; }
  .og-hero { min-height: 196px; margin-bottom: 12px; padding: 23px 31% 22px 19px; border-radius: 18px; }
  .og-hero::before { background: linear-gradient(90deg, #edf4e8 0%, #edf4e8 54%, rgba(237,244,232,.9) 69%, rgba(237,244,232,.28) 100%); }
  .og-hero-media { width: 43%; opacity: .88; }
  .og-hero-txt h1 { max-width: 9ch; font-size: 31px; line-height: 1; }
  .og-hero-txt p { max-width: 43ch; font-size: 12.7px; line-height: 1.4; }
  .og-hero .og-add-btn { min-height: 40px; margin-top: 14px; padding: 0 12px; font-size: 12.5px; }
  .og-primary-search { grid-template-columns: 30px minmax(0,1fr) auto; gap: 4px; margin-bottom: 12px; padding: 6px; border-radius: 14px; }
  .og-search-icon { width: 30px; height: 38px; font-size: 22px; }
  .og-primary-search input { min-height: 44px; font-size: 13.5px; }
  .og-primary-search button { min-height: 44px; padding: 0 14px; font-size: 12.5px; }
  .og-category-rail { margin-right: -14px; margin-left: -14px; padding-right: 14px; padding-left: 14px; }
  .og-results-tools { grid-template-columns: minmax(0,1fr) auto auto; }
  .og-count { grid-column: 1 / -1; }
  .og-filter-details { grid-column: 1 / 3; grid-row: 2; }
  .og-quick-sort { grid-column: 3; grid-row: 2; }

  .og-quick-sort select { min-width: 142px; }
  .og-filter-details[open] > .og-filters { left: 0; right: auto; width: calc(100vw - 28px); grid-template-columns: repeat(2, minmax(0,1fr)); padding: 12px; }
  .og-f-q, .og-f-wide-mobile, .og-filter-actions { grid-column: 1 / -1; }
  .og-card { grid-template-columns: 110px minmax(0,1fr) 26px; min-height: 110px; padding: 5px; border-radius: 16px; }
  .og-card-img { width: 100px; height: 100px; border-radius: 12px; }
  .og-card-body { gap: 5px; padding: 7px 4px 7px 8px; }
  .og-card-title { font-size: 14px; }
  .og-card-price { font-size: 16.5px; }
  .og-card-summary { font-size: 11px; }
  .og-card-arrow { width: 24px; height: 24px; font-size: 20px; }
}
@media (max-width: 430px) {
  .og-hero { padding-right: 24%; }
  .og-hero-media { width: 48%; opacity: .62; }
  .og-hero::before { background: linear-gradient(90deg, #edf4e8 0%, #edf4e8 59%, rgba(237,244,232,.84) 75%, rgba(237,244,232,.35) 100%); }
  .og-hero-txt p { max-width: 35ch; }
  .og-primary-search button { padding: 0 11px; }
  .og-card { grid-template-columns: 96px minmax(0,1fr) 22px; }
  .og-card-img { width: 86px; height: 96px; }
  .og-badge { padding: 0 6px; font-size: 9.5px; }
}

/* Mobile containment pass after visual QA. */
.og-wrap { width: 100%; box-sizing: border-box; }
.og-primary-search { width: 100%; min-width: 0; box-sizing: border-box; }
.og-primary-search input { min-width: 0; box-sizing: border-box; }
@media (max-width: 700px) {
  .og-primary-search { grid-template-columns: 28px minmax(0, 1fr) 62px; }
  .og-primary-search button { width: 62px; padding: 0; }
  .og-results-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .og-count { grid-column: 1 / -1; }
  .og-filter-details { grid-column: 1; grid-row: 2; width: 100%; }
  .og-filter-details > summary { width: 100%; }
  .og-quick-sort { grid-column: 2; grid-row: 2; width: 100%; }
  .og-quick-sort label { width: 100%; }
  .og-quick-sort select { width: 100%; min-width: 0; }
}

@media (max-width: 700px) {
  .og-primary-search { display: flex; align-items: center; }
  .og-search-icon { flex: 0 0 28px; }
  .og-primary-search input { flex: 1 1 0; width: 0; }
  .og-primary-search button { flex: 0 0 62px; width: 62px; }
}


/* ---- listing detail redesign 2026-09-17 ---- */

.og-item-detail { grid-template-columns: minmax(0, 1fr) 336px; gap: 20px; }
.og-item-detail .og-item-main {
  padding: 16px; border: 1px solid #dbe5da; border-radius: 22px; background: #fff;
  box-shadow: 0 8px 28px rgba(16,37,26,.065);
}
.og-item-detail .og-gallery { border-radius: 17px; background: #edf3eb; }
.og-item-detail .og-gallery-main { border-radius: 17px; }
.og-item-detail .og-parcel-gallery-rail { border-radius: 17px 17px 0 0; }
.og-item-detail .og-parcel-gallery-slide .og-gallery-main { border-radius: 17px 17px 0 0; }
.og-item-detail .og-parcel-gallery-caption {
  padding: 12px 14px; border-color: #d4e1d4; border-radius: 0 0 17px 17px; background: #fbfdf9;
}
.og-item-heading { margin: 18px 2px 14px; }
.og-item-badges { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 10px; }
.og-item-badge {
  display: inline-flex; align-items: center; min-height: 26px; padding: 0 10px; border: 1px solid #d2dfd2;
  border-radius: 999px; background: #f6f9f4; color: #335341; font-size: 11px; font-weight: 850;
}
.og-item-badge-source { border-color: #b9d7c0; background: #eaf6e8; color: #145f35; }
.og-item-badge-type { border-color: #bdd8e6; background: #eef7fb; color: #1f5873; }
.og-item-title { margin: 0 0 8px; color: #10251a; font-size: clamp(25px, 3vw, 34px); line-height: 1.12; letter-spacing: -.025em; }
.og-item-meta { display: flex; flex-wrap: wrap; gap: 4px 7px; margin: 0; color: #596b60; font-size: 12.5px; line-height: 1.45; }
.og-item-meta strong { color: #34513f; }
.og-item-mobile-cta { display: none; }

.og-item-detail .og-keyfacts {
  margin: 0 0 16px; padding: 16px; border: 1px solid #d4e2d3; border-radius: 18px;
  background: linear-gradient(180deg,#f7fbf4 0%,#f1f7ef 100%);
}
.og-section-head { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }
.og-section-icon {
  display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px;
  background: #dff0dc; color: #17603b; font-size: 15px; font-weight: 900;
}
.og-keyfacts .og-section-head h2 { margin: 0; color: #163b27; font-size: 16px; }
.og-item-detail .og-keyfacts dl { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.og-item-detail .og-keyfacts dl > div {
  min-height: 64px; padding: 10px 11px; border: 1px solid #dbe7da; border-radius: 12px; background: rgba(255,255,255,.78);
}
.og-item-detail .og-keyfacts dt { margin-bottom: 4px; color: #64766a; font-size: 10.5px; text-transform: none; }
.og-item-detail .og-keyfacts dd { color: #173a27; font-size: 14px; font-weight: 820; line-height: 1.32; }
.og-item-detail .og-item-desc {
  margin: 0 0 16px; padding: 16px; border: 1px solid #e0e8df; border-radius: 16px; background: #fff;
  color: #31483a; font-size: 14px; line-height: 1.62;
}
.og-data-details { margin: 0 0 16px; border: 1px solid #dbe5da; border-radius: 16px; background: #fff; overflow: hidden; }
.og-data-details > summary {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 0 15px;
  color: #173b28; font-size: 13.5px; font-weight: 850; cursor: pointer; list-style: none;
}
.og-data-details > summary::-webkit-details-marker { display: none; }
.og-data-details[open] > summary { border-bottom: 1px solid #e2e9e1; background: #f9fbf8; }
.og-data-chevron { color: #54705e; font-size: 21px; transition: transform .15s; }
.og-data-details[open] .og-data-chevron { transform: rotate(180deg); }
.og-data-details-body { padding: 4px 14px 14px; }
.og-data-details .og-item-details { margin: 0; }
.og-data-details .og-item-details th,.og-data-details .og-item-details td { padding: 10px 6px; }
.og-item-detail .og-source-detail { margin: 0 0 14px; padding: 0 14px; border: 1px solid #e0e8df; border-radius: 14px; background: #fbfdfb; }
.og-item-detail .og-source-detail summary { min-height: 48px; }

.og-item-detail .og-price-box {
  padding: 18px; border: 1px solid #d6e2d5; border-radius: 20px; background: #fff;
  box-shadow: 0 8px 28px rgba(16,37,26,.065);
}
.og-item-detail .og-price-val { margin: 0 0 14px; color: #0f6b37; font-size: 29px; line-height: 1.1; letter-spacing: -.025em; }
.og-item-detail .og-source-btn,.og-item-detail .og-phone-btn { min-height: 48px; border-radius: 13px; }
.og-item-detail .og-safe-note { margin-top: 14px; padding-top: 12px; border-top: 1px solid #e5ece4; }
.og-item-detail .og-report-box {
  margin: 2px 0 16px; padding: 15px 16px; border-color: #b8dbc1; border-radius: 16px;
  background: linear-gradient(90deg,#eaf7e8 0%,#f7fbf5 100%); box-shadow: 0 4px 14px rgba(16,37,26,.035);
}
.og-item-detail .og-report-box:hover { border-color: #68a67c; box-shadow: 0 7px 18px rgba(16,37,26,.065); }
.og-item-detail .og-report-txt strong { font-size: 15px; }
.og-item-detail .og-report-arrow {
  display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 999px;
  background: #d9efd8; color: #145f35;
}
.og-item-detail .og-lots { padding: 15px; border: 1px solid #dbe5da; border-radius: 16px; background: #fbfdfb; }
.og-item-report { text-align: right; }
.og-item-report .og-link-btn { color: #6d3c36; font-size: 12.5px; }

@media (max-width: 980px) {
  .og-item-detail { grid-template-columns: minmax(0, 1fr) 300px; }
  .og-item-detail .og-keyfacts dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .og-item-detail { display: block; }
  .og-item-detail .og-item-main { padding: 12px; border-radius: 18px; }
  .og-item-detail .og-item-side { display: none; }
  .og-item-detail .og-item-heading { margin: 16px 2px 12px; }
  .og-item-detail .og-item-title { font-size: 25px; }
  .og-item-mobile-cta {
    display: grid; gap: 10px; margin: 0 0 14px; padding: 14px; border: 1px solid #cfe0cf; border-radius: 16px;
    background: linear-gradient(180deg,#f6fbf3 0%,#edf7eb 100%);
  }
  .og-item-mobile-cta .og-price-val { margin: 0; font-size: 25px; }
  .og-item-mobile-cta .og-source-btn { min-height: 48px; }
}

@media (max-width: 620px) {
  .og-bread { margin: 2px 0 10px; font-size: 12px; white-space: nowrap; overflow-x: auto; scrollbar-width: none; }
  .og-bread::-webkit-scrollbar { display: none; }
  .og-item-detail .og-item-main { padding: 10px; border-radius: 17px; box-shadow: 0 5px 18px rgba(16,37,26,.055); }
  .og-item-detail .og-gallery { border-radius: 14px; }
  .og-item-detail .og-parcel-gallery-rail { border-radius: 14px 14px 0 0; }
  .og-item-detail .og-parcel-gallery-slide .og-gallery-main { border-radius: 14px 14px 0 0; }
  .og-item-detail .og-parcel-gallery-caption { display: grid; gap: 7px; padding: 10px 11px; border-radius: 0 0 14px 14px; }
  .og-item-detail .og-item-heading { margin: 14px 1px 11px; }
  .og-item-badges { gap: 6px; margin-bottom: 8px; }
  .og-item-badge { min-height: 24px; padding: 0 8px; font-size: 10px; }
  .og-item-detail .og-item-title { font-size: 23px; line-height: 1.12; }
  .og-item-detail .og-item-meta { font-size: 12px; }
  .og-item-detail .og-keyfacts { padding: 12px; border-radius: 15px; }
  .og-keyfacts .og-section-head h2 { font-size: 15px; }
  .og-item-detail .og-keyfacts dl { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .og-item-detail .og-keyfacts dl > div { min-height: 58px; padding: 9px; }
  .og-item-detail .og-keyfacts dt { font-size: 10px; }
  .og-item-detail .og-keyfacts dd { font-size: 13px; }
  .og-item-detail .og-report-box { padding: 13px; border-radius: 14px; }
  .og-item-detail .og-report-txt strong { font-size: 13.5px; line-height: 1.3; }
  .og-item-detail .og-report-txt small { display: block; margin-top: 2px; font-size: 11.5px; line-height: 1.35; }
  .og-item-detail .og-item-desc { padding: 13px; font-size: 13.5px; }
  .og-data-details > summary { min-height: 50px; padding: 0 13px; font-size: 13px; }
  .og-data-details-body { padding: 2px 10px 10px; }
  .og-data-details .og-item-details { font-size: 12.5px; }
  .og-data-details .og-item-details th { width: 42%; }
  .og-data-details .og-item-details th,.og-data-details .og-item-details td { padding: 8px 5px; }
}
@media (max-width: 380px) {
  .og-item-detail .og-keyfacts dl { grid-template-columns: 1fr; }
}


/* ---- listing detail mockup alignment 2026-09-17b ---- */

.og-bread-home { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 7px; background: #eef5ec; color: #31533f !important; font-size: 16px; font-weight: 900; }
.og-item-detail .og-gallery { position: relative; }
.og-gallery-map-link {
  position: absolute; z-index: 8; top: 12px; right: 12px; display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 0 13px;
  border: 1px solid rgba(210,223,213,.95); border-radius: 11px; background: rgba(255,255,255,.94); color: #234735 !important; font-size: 12px; font-weight: 850; text-decoration: none; box-shadow: 0 4px 14px rgba(16,37,26,.12);
}
.og-gallery-scope,.og-gallery-position {
  position: absolute; z-index: 8; bottom: 12px; display: inline-flex; align-items: center; min-height: 29px; padding: 0 10px;
  border-radius: 999px; background: rgba(20,48,32,.88); color: #fff; font-size: 11px; font-weight: 800; line-height: 1;
}
.og-gallery-scope { left: 12px; gap: 5px; }
.og-gallery-position { right: 12px; }
.og-item-badge { gap: 6px; }
.og-item-badge .ig-svgico { width: 14px; height: 14px; }
.og-item-badge-region { border-color: #d7e3d7; background: #f5f8f3; color: #31533f; }
.og-full-card { margin: 0 0 16px; overflow: hidden; border: 1px solid #dbe5da; border-radius: 17px; background: #fff; box-shadow: 0 4px 16px rgba(16,37,26,.035); }
.og-full-card .og-data-details { margin: 0; border: 0; border-radius: 0; }
.og-full-card .og-item-desc { margin: 0; border: 0; border-top: 1px solid #e5ece4; border-radius: 0; background: #fff; }
.og-full-card .og-item-desc h2 { margin: 0 0 6px; color: #10251a; font-size: 15px; line-height: 1.25; }
.og-full-card .og-item-desc p { margin: 0; }

@media (max-width: 860px) {
  .og-item-detail .og-item-main { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .og-item-detail .og-gallery { border-radius: 17px; background: #e8efe6; }
  .og-item-detail .og-gallery-main,.og-item-detail .og-gallery-main.og-parcel-preview { width: 100%; height: clamp(150px, 34vw, 190px); aspect-ratio: auto; object-fit: cover; border-radius: 17px; }
  .og-item-detail .og-parcel-gallery-rail,.og-item-detail .og-parcel-gallery-slide .og-gallery-main { border-radius: 17px; }
  .og-item-detail .og-parcel-gallery-caption { display: none; }
  .og-item-detail .og-parcel-gallery-index,.og-item-detail .og-parcel-gallery-status { display: none; }
  .og-parcel-gallery-arrow { top: calc(50% - 22px); }
  .og-item-detail .og-item-heading { margin: 15px 7px 14px; }
  .og-item-detail .og-item-title { margin: 0 0 10px; font-size: clamp(27px, 7vw, 34px); line-height: 1.08; letter-spacing: -.035em; }
  .og-item-badges { margin: 0; gap: 7px; }
  .og-item-badge { min-height: 32px; padding: 0 11px; font-size: 11px; }
  .og-item-meta { display: none; }
  .og-item-mobile-cta { margin: 0 0 14px; border-radius: 17px; box-shadow: 0 4px 16px rgba(16,37,26,.035); }
  .og-item-mobile-cta.is-price-missing { padding: 16px; border-color: #cfe2d2; background: linear-gradient(135deg,#f2fbf2 0%,#f8fcf7 100%); }
  .og-price-alert-copy { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 12px; align-items: start; }
  .og-price-alert-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: #dff3e3; color: #17603b; font-size: 25px; font-weight: 900; }
  .og-price-alert-copy strong { display: block; color: #0f5d39; font-size: 18px; line-height: 1.12; letter-spacing: -.015em; }
  .og-price-alert-copy p { margin: 6px 0 0; color: #506359; font-size: 12.5px; line-height: 1.42; }
  .og-item-mobile-cta.is-price-missing .og-source-btn { margin-top: 2px; color: #fff !important; background: #0d4a2f; }
}

@media (max-width: 860px) {
  .og-item-detail .og-keyfacts { margin: 0 0 14px; padding: 15px; border-color: #dde7dd; border-radius: 17px; background: #fff; box-shadow: 0 4px 16px rgba(16,37,26,.04); }
  .og-item-detail .og-keyfacts dl { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 16px; }
  .og-item-detail .og-keyfacts dl > .og-fact { display: grid; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: 9px; min-height: 66px; padding: 7px 0; border: 0; border-radius: 0; background: transparent; }
  .og-item-detail .og-keyfacts dl > .og-fact:nth-child(n+3) { border-top: 1px solid #e8eee7; }
  .og-item-detail .og-keyfacts dl > .og-fact:nth-child(even) { padding-left: 4px; border-left: 1px solid #e8eee7; }
  .og-fact-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: #f0f5ef; color: #234735; font-size: 18px; font-weight: 700; }
  .og-fact-copy { min-width: 0; }
  .og-item-detail .og-keyfacts dt { margin: 0 0 2px; color: #708077; font-size: 10.5px; font-weight: 650; }
  .og-item-detail .og-keyfacts dd { margin: 0; color: #10251a; font-size: 13.5px; font-weight: 850; line-height: 1.25; }
  .og-fact--kind .og-fact-icon::before { content: '⌂'; }
  .og-fact--location .og-fact-icon::before { content: '⌖'; }
  .og-fact--parcel_ident .og-fact-icon::before { content: '▦'; }
  .og-fact--land_register .og-fact-icon::before { content: '▤'; }
  .og-fact--tender_at .og-fact-icon::before,.og-fact--deadline_at .og-fact-icon::before { content: '□'; }
  .og-fact--price .og-fact-icon::before { content: '◉'; }
  .og-fact--land_area_m2 .og-fact-icon::before,.og-fact--area_m2 .og-fact-icon::before,.og-fact--unit_area_m2 .og-fact-icon::before { content: '↔'; }
  .og-fact--wadium .og-fact-icon::before { content: '◌'; }
  .og-full-card { margin-bottom: 14px; border-radius: 17px; }
  .og-full-card .og-data-details > summary { min-height: 58px; padding: 0 15px; font-size: 13.5px; }
  .og-full-card .og-item-desc { padding: 14px 15px 16px; font-size: 13.5px; }
  .og-item-detail .og-report-box { margin-top: 0; }
}

@media (max-width: 620px) {
  .og-wrap { padding-top: 14px; }
  .og-bread { margin: 0 5px 10px; }
  .og-gallery-map-link { top: 10px; right: 10px; min-height: 36px; padding: 0 11px; font-size: 11px; }
  .og-gallery-scope,.og-gallery-position { bottom: 10px; min-height: 27px; padding: 0 9px; font-size: 10.5px; }
  .og-gallery-scope { left: 10px; }
  .og-gallery-position { right: 10px; }
  .og-item-detail .og-item-heading { margin-right: 5px; margin-left: 5px; }
  .og-item-detail .og-item-title { font-size: 27px; }
  .og-item-badge { min-height: 30px; padding: 0 9px; }
  .og-item-detail .og-keyfacts { padding: 14px 13px; }
  .og-item-detail .og-keyfacts dl { gap: 0 12px; }
  .og-item-detail .og-keyfacts dl > .og-fact { grid-template-columns: 32px minmax(0,1fr); gap: 7px; min-height: 62px; }
  .og-fact-icon { width: 29px; height: 29px; border-radius: 8px; font-size: 16px; }
  .og-item-detail .og-keyfacts dd { font-size: 13px; }
  .og-price-alert-copy { grid-template-columns: 40px minmax(0,1fr); gap: 10px; }
  .og-price-alert-icon { width: 38px; height: 38px; }
  .og-price-alert-copy strong { font-size: 17px; }
}
.og-data-details > summary::before { content: '▤'; display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; margin-right: -2px; border-radius: 9px; background: #eaf6eb; color: #17603b; font-size: 16px; }
.og-data-details > summary > span:first-of-type { flex: 1; }


/* Activate and order the approved mobile listing-card composition. */
.og-fact-icon::before { content: none !important; }
.og-fact-icon .ig-svgico { width: 18px; height: 18px; }
@media (max-width: 860px) {
  .og-item-detail .og-item-main { display: flex; flex-direction: column; }
  .og-item-detail .og-gallery { order: 1; }
  .og-item-detail .og-item-heading { order: 2; }
  .og-item-detail .og-keyfacts { order: 3; }
  .og-item-detail .og-item-mobile-cta { order: 4; }
  .og-item-detail .og-lots { order: 5; }
  .og-item-detail .og-full-card { order: 6; }
  .og-item-detail .og-report-box { order: 7; }
  .og-item-detail .og-item-report { order: 8; }
}


/* listing detail quick fixes 2026-09-17c */
.og-parcel-gallery-slide { position: relative; overflow: hidden; }
.og-parcel-gallery-slide--a .og-gallery-main { transform: scale(1.13); filter: saturate(1.25) contrast(1.08) brightness(1.02); transform-origin: center; }
.og-parcel-gallery-slide--a::after { content: ''; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 34px rgba(114,255,72,.10); }
@media (max-width: 860px) { .og-fact--land_register dd { font-size: 11.7px !important; line-height: 1.18 !important; letter-spacing: -.015em; overflow-wrap: anywhere; word-break: normal; } .og-full-card .og-data-details[open] > summary { background: #fbfdfb; } .og-item-report { margin: 2px 4px 10px !important; } .og-wrap { padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important; } .og-item-detail { margin-bottom: 0 !important; } }


/* Listing data is always visible: no accordion. */
.og-data-table { background:#fff; }
.og-data-table-head { display:flex; align-items:center; gap:10px; min-height:58px; padding:0 15px; border-bottom:1px solid #e2e9e1; }
.og-data-table-head h2 { margin:0; color:#173b28; font-size:13.5px; font-weight:850; line-height:1.25; }
.og-data-table-icon { display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:9px; background:#eaf6eb; color:#17603b; font-size:16px; }
.og-data-table .og-data-details-body { padding-top:8px; }
@media (max-width:620px) { .og-data-table-head { min-height:56px; padding:0 14px; } .og-data-table-head h2 { font-size:13px; } }


/* ==== Finalny szlif działu ogłoszeń 2026-09-27 (U08/T12/T13/T19/T20) ==== */

/* Miniatura karty: zawsze skończona grafika — także w trakcie leniwego ładowania. */
.og-media {
  position: relative; isolation: isolate; overflow: hidden;
  background-color: #0d3a26;
  background-image:
    radial-gradient(120% 90% at 18% 12%, rgba(167,255,69,.16) 0%, rgba(167,255,69,0) 55%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cg fill='none' stroke='%23a7ff45' stroke-opacity='.13' stroke-width='1.2'%3E%3Cpath d='M-10 40c30-18 55 10 85-4s50-26 95-6'/%3E%3Cpath d='M-10 70c35-16 60 12 90-2s52-22 90-4'/%3E%3Cpath d='M-10 100c28-14 58 14 88 0s55-24 92-6'/%3E%3Cpath d='M-10 130c32-16 62 10 92-4s48-20 88-2'/%3E%3Cpath d='M40 20c12 8 28 8 40 0'/%3E%3C/g%3E%3C/svg%3E"),
    linear-gradient(155deg, #145233 0%, #0d3a26 58%, #0a2e1e 100%);
  background-size: auto, 160px 160px, auto;
}
.og-card-img.og-media { background-color: #0d3a26; }
.og-media-img { position: absolute; inset: 0; z-index: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.og-media--exact .og-media-img { filter: saturate(1.12) contrast(1.05); }
.og-media--parent .og-media-img { filter: saturate(1.02) contrast(1.03); }
.og-media--context .og-media-img { filter: grayscale(.3) saturate(.8) brightness(.62); transform: scale(1.06); }
.og-media-art {
  position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 3px; padding: 8px 7px; box-sizing: border-box; color: #f3fbef; text-align: center;
}
.og-media--context .og-media-art { background: linear-gradient(180deg, rgba(10,46,30,.18) 0%, rgba(10,46,30,.72) 100%); }
.og-media-art-icon { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 2px; border-radius: 999px; background: rgba(167,255,69,.14); color: #a7ff45; box-shadow: inset 0 0 0 1px rgba(167,255,69,.28); }
.og-media-art-place { display: -webkit-box; max-width: 100%; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: #fff; font-size: 12px; font-weight: 850; line-height: 1.15; overflow-wrap: anywhere; text-shadow: 0 1px 6px rgba(0,0,0,.35); }
.og-media-art-note { color: rgba(234,248,228,.82); font-size: 9.5px; font-weight: 700; line-height: 1.2; letter-spacing: .01em; }
.og-card-img .og-media-img { transition: transform .35s ease; }
.og-card:hover .og-media--exact .og-media-img, .og-card:hover .og-media--parent .og-media-img, .og-card:hover .og-media--photo .og-media-img { transform: scale(1.05); }

/* Treść karty: pigułki, tytuł, cena, fakty z ikonami (zawijane, bez ucinania terminu). */
.og-ico { flex: 0 0 auto; }
.og-card-facts .og-ico, .og-card-loc .og-ico { color: #5f7d6a; }
.og-card-body { justify-content: center; gap: 5px; }
.og-card-price.is-missing { display: flex; align-items: flex-start; gap: 5px; max-width: none; color: #4d6155; font-size: 12px; font-weight: 700; line-height: 1.3; letter-spacing: 0; }
.og-card-price.is-missing .og-ico { margin-top: 1px; color: #b7791f; }
.og-card-facts { display: flex; flex-wrap: wrap; gap: 2px 12px; overflow: visible; color: #4d6155; font-size: 12px; line-height: 1.35; white-space: normal; }
.og-card-fact { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.og-card-fact + .og-card-fact::before { content: none; }
.og-card-fact--date { color: #234735; font-weight: 700; }
.og-card.is-expired .og-card-fact--date { color: #8d291d; }
.og-card-loc { display: flex; align-items: center; gap: 4px; min-width: 0; color: #5a6e61; font-size: 11.75px; line-height: 1.3; }
.og-card-loc > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.og-badge-terms { border: 1px solid #cde6a8; background: #f3fde6; color: #2f5d12; }
.og-save { z-index: 3; }

@media (max-width: 700px) {
  .og-card { grid-template-columns: 104px minmax(0,1fr) 22px; align-items: stretch; }
  .og-card-img { width: 98px; height: auto; min-height: 98px; align-self: stretch; }
  .og-media-art-icon { width: 28px; height: 28px; }
  .og-media-art-place { font-size: 11px; }
  .og-media-art-note { font-size: 9px; }
  .og-card-facts { gap: 2px 10px; font-size: 11.5px; }
  .og-card-loc { font-size: 11.25px; }
  .og-card-price.is-missing { font-size: 11.5px; }
  .og-card-kicker { padding-right: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  .og-card, .og-card-img .og-media-img { transition: none !important; }
  .og-card:hover { transform: none; }
  .og-card:hover .og-media-img { transform: none !important; }
}
.og-card-warn { display: inline-flex; align-items: center; gap: 4px; width: fit-content; padding: 2px 7px; border-radius: 7px; background: #fff6df; color: #6b4d06; font-size: 11px; font-weight: 750; line-height: 1.3; }
.og-card-warn .og-ico { color: #b7791f; }

/* Karta ogłoszenia: ta sama grafika co na liście, bez nakładających się podpisów. */
.og-gallery-frame { position: relative; display: block; overflow: hidden; }
.og-gallery-frame.og-media { border-radius: 17px 17px 0 0; }
.og-gallery-frame.og-media .og-gallery-main { position: relative; }
.og-media-art--large { gap: 6px; padding: 18px; }
.og-media-art--large .og-media-art-icon { width: 56px; height: 56px; }
.og-media-art--large .og-media-art-place { font-size: clamp(18px, 2.4vw, 26px); letter-spacing: -.01em; }
.og-media-art--large .og-media-art-note { max-width: 34ch; font-size: 12.5px; }
.og-item-detail .og-gallery-none.og-media { position: relative; aspect-ratio: 16 / 9; border-radius: 17px; }
.og-item-detail .og-gallery-none.og-media .og-media-art { position: absolute; }
@media (min-width: 861px) {
  .og-gallery--captioned > .og-gallery-scope, .og-gallery--captioned > .og-gallery-position { display: none; }
}
@media (max-width: 860px) {
  .og-item-detail .og-gallery-none.og-media { aspect-ratio: auto; height: clamp(170px, 46vw, 220px); }
  .og-gallery-frame.og-media { border-radius: 17px; }
  .og-media-art--large .og-media-art-icon { width: 44px; height: 44px; }
  .og-media-art--large .og-media-art-place { font-size: 19px; }
  .og-media-art--large .og-media-art-note { font-size: 11.5px; }
  .og-item-detail .og-siblings { order: 2; }
}
.og-siblings {
  display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 12px; margin: 0 0 16px; padding: 14px 15px;
  border: 1px solid #cde6a8; border-radius: 16px; background: linear-gradient(135deg, #f5feea 0%, #fbfff5 100%);
}
.og-siblings-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: #0d3a26; color: #a7ff45; }
.og-siblings-body strong { display: block; margin: 1px 0 6px; color: #10251a; font-size: 14px; line-height: 1.3; }
.og-siblings-body ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.og-siblings-body a { display: inline-flex; align-items: center; gap: 4px; min-height: 32px; color: #17603b; font-size: 13.5px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.og-siblings-body p { margin: 6px 0 0; color: #6b4d06; font-size: 12.5px; font-weight: 700; }
@media (max-width: 860px) {
  .og-gallery--context > .og-gallery-scope { display: none; }
  .og-gallery--context .og-media-art--large { padding: 14px 18px 30px; }
  .og-gallery--context .og-media-art--large .og-media-art-icon { width: 38px; height: 38px; }
}

/* ---- T19: formularz dodaj/edytuj — dwie kolumny, kroki, wskazanie działki ---- */
.og-form-head { max-width: 760px; margin: 0 0 16px; }
.og-form-head .og-h1 { margin: 4px 0 6px; font-size: clamp(26px, 3vw, 34px); letter-spacing: -.02em; }
.og-form-head p { margin: 0; color: #4d6155; font-size: 14.5px; line-height: 1.5; }
.og-form-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: start; }
@media (min-width: 1024px) {
  .og-form-layout { grid-template-columns: minmax(0, 1fr) 340px; gap: 26px; }
  .og-form-aside { position: sticky; top: 88px; }
}
.og-form { max-width: none; min-width: 0; }
.og-fs { position: relative; min-width: 0; margin: 0 0 16px; padding: 18px 20px 20px; border: 1px solid #dde7dc; border-radius: 18px; background: #fff; box-shadow: 0 6px 20px rgba(16,37,26,.05); }
/* Legenda w środku karty (float usuwa wiszenie na krawędzi fieldsetu). */
.og-fs > legend { float: left; display: flex; align-items: center; gap: 10px; width: 100%; margin: 0 0 12px; padding: 0; color: #10251a; font-size: 16.5px; font-weight: 850; line-height: 1.25; }
.og-fs > legend + * { clear: both; }
.og-fs > legend small { color: #7a8b80; font-size: 12px; font-weight: 650; }
.og-step { display: inline-grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 9px; background: #0d3a26; color: #a7ff45; font-size: 13.5px; font-weight: 900; }
.og-req { color: #1f7a45; font-weight: 900; }
.og-fs-hint { clear: both; margin: 0 0 10px; color: #5a6e61; font-size: 13px; line-height: 1.5; }
.og-field { margin: 6px 0 4px; }
.og-field > span { color: #25442f; font-size: 13px; font-weight: 750; }
.og-field input, .og-field select, .og-field textarea { min-height: 46px; border-color: #d3ded3; border-radius: 12px; background: #fbfdfa; transition: border-color .15s, box-shadow .15s; }
.og-field textarea { min-height: 150px; line-height: 1.5; resize: vertical; }
.og-row { gap: 14px; }
.og-check { min-height: 44px; margin: 6px 0 0; }
.og-counter { min-height: 1.2em; margin: 4px 2px 0; color: #6b7d71; font-size: 12px; text-align: right; }
.og-fs-pick.is-picked { border-color: #b8dd8a; box-shadow: 0 8px 24px rgba(31,122,69,.09); }
.og-pick-search { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 6px; padding: 6px; border: 1px solid #cfdccf; border-radius: 14px; background: #fbfdfa; }
.og-pick-search:focus-within { border-color: #1f7a45; box-shadow: 0 0 0 3px rgba(31,122,69,.13); }
.og-pick-search-icon { display: grid; place-items: center; color: #3e6a50; }
.og-pick-search input { min-width: 0; min-height: 44px; padding: 6px 4px; border: 0; background: transparent; color: #10251a; font: inherit; font-size: 15px; outline: 0; }
.og-pick-search button { min-height: 44px; padding: 0 18px; border: 0; border-radius: 10px; background: #1f7a45; color: #fff; font: inherit; font-size: 14px; font-weight: 850; cursor: pointer; }
.og-pick-search button:hover { background: #17603b; }
.og-pick-results { display: grid; gap: 6px; margin: 8px 0 0; padding: 0; list-style: none; }
.og-pick-result { display: grid; gap: 2px; width: 100%; min-height: 48px; padding: 9px 12px; border: 1px solid #d6e2d5; border-radius: 12px; background: #fff; color: #10251a; font: inherit; text-align: left; cursor: pointer; }
.og-pick-result:hover, .og-pick-result:focus-visible { border-color: #1f7a45; background: #f4fbef; outline: 0; }
.og-pick-result strong { font-size: 14px; }
.og-pick-result span { color: #5a6e61; font-size: 12.5px; }
.og-pick-mapwrap { position: relative; margin-top: 12px; }
.og-pick-map { height: 360px; overflow: hidden; border: 1px solid #cddacc; border-radius: 16px; background: #0d3a26; }
.og-pick-map.leaflet-container { font: inherit; }
.og-pick-map .leaflet-control-attribution { font-size: 10px; }
.og-pick-tip { position: absolute; z-index: 500; left: 50%; bottom: 14px; display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 7px 12px; border-radius: 999px; background: rgba(13,58,38,.9); color: #eafbd9; font-size: 12.5px; font-weight: 750; white-space: nowrap; transform: translateX(-50%); pointer-events: none; box-shadow: 0 4px 14px rgba(0,0,0,.2); }
.og-pick-tip[hidden] { display: none; }
.og-pick-tip .og-ico { color: #a7ff45; }
.og-pick-status { min-height: 1.3em; margin: 9px 2px 0; color: #4d6155; font-size: 13px; font-weight: 650; }
.og-pick-status.is-busy { color: #3e6a50; }
.og-pick-status.is-warn { color: #8a5a00; }
.og-pick-status.is-ok { color: #1f7a45; }
.og-pick-selected { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 12px; margin-top: 10px; padding: 11px 12px; border: 1px solid #b8dd8a; border-radius: 14px; background: #f4fdea; animation: og-pop .25s ease-out; }
.og-pick-selected[hidden] { display: none; }
.og-pick-selected-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: #0d3a26; color: #a7ff45; }
.og-pick-selected-copy { display: grid; gap: 2px; min-width: 0; }
.og-pick-selected-copy strong { color: #10251a; font-size: 15px; }
.og-pick-selected-copy span { overflow: hidden; color: #4d6155; font-size: 12.5px; text-overflow: ellipsis; white-space: nowrap; }
.og-pick-change { min-height: 40px; padding: 0 14px; border: 1px solid #b9d3b8; border-radius: 10px; background: #fff; color: #17603b; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.og-pick-change:hover { border-color: #1f7a45; }
@keyframes og-pop { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.og-photos { gap: 12px; }
.og-photo-slot { width: 140px; height: 108px; border-radius: 14px; background: #f3f8f0; }
.og-photo-add { display: grid; place-items: center; align-content: center; gap: 4px; border: 2px dashed #c3d6c2; border-radius: 14px; color: #3e6a50; font-size: 12px; font-weight: 750; transition: border-color .15s, background .15s; }
.og-photo-add:hover { border-color: #1f7a45; background: #eef8e8; color: #17603b; }
.og-photo-add-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 999px; background: #0d3a26; color: #a7ff45; }
.og-photo-add small { font-size: 11.5px; }
.og-parcel-link { margin-top: 12px; border-color: #cde6a8; background: #f4fdea; color: #25442f; }
.og-submit { min-height: 54px; border-radius: 14px; background: #1f7a45; border-color: #1f7a45; color: #fff !important; font-size: 16.5px; box-shadow: 0 8px 20px rgba(31,122,69,.22); }
.og-submit:hover { background: #17603b; }
.og-form-note { margin: 12px auto 0; max-width: 60ch; color: #5a6e61; font-size: 13px; line-height: 1.5; }
.og-form-err { border-radius: 14px; }
.og-form-aside { display: grid; gap: 14px; min-width: 0; }
.og-form-aside[hidden] { display: none; }
.og-preview-box { padding: 14px; border: 1px solid #dde7dc; border-radius: 18px; background: #fff; box-shadow: 0 6px 20px rgba(16,37,26,.05); }
.og-preview-label { display: flex; align-items: center; gap: 6px; margin: 0 0 10px; color: #3e6a50; font-size: 12px; font-weight: 850; letter-spacing: .02em; text-transform: uppercase; }
.og-preview-cell .og-card { grid-template-columns: 112px minmax(0, 1fr); min-height: 112px; pointer-events: none; }
.og-preview-cell .og-card-img { width: 100px; height: 100px; }
.og-preview-cell .og-card-title { font-size: 14px; }
.og-preview-cell .og-card-price { font-size: 15.5px; }
.og-media--outline { background-color: #0d3a26; }
.og-preview-outline { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; }
.og-preview-outline path { fill: rgba(167,255,69,.22); stroke: #a7ff45; stroke-width: 2.4; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.og-media-art--bottom { justify-content: flex-end; padding-bottom: 7px; background: linear-gradient(180deg, rgba(10,46,30,0) 45%, rgba(10,46,30,.75) 100%); }
.og-tips { padding: 16px 18px; border: 1px solid #d6e2d5; border-radius: 18px; background: linear-gradient(180deg, #f6fbf3 0%, #eef6ea 100%); }
.og-tips h2 { margin: 0 0 8px; color: #10251a; font-size: 15px; }
.og-tips ol { display: grid; gap: 8px; margin: 0; padding-left: 20px; color: #3d5446; font-size: 13px; line-height: 1.5; }
.og-tips strong { color: #10251a; }
@media (max-width: 700px) {
  .og-fs { padding: 15px 14px 16px; border-radius: 16px; }
  .og-fs > legend { font-size: 15.5px; }
  .og-pick-map { height: 300px; }
  .og-pick-search { grid-template-columns: 28px minmax(0, 1fr) auto; }
  .og-pick-search button { padding: 0 14px; }
  .og-pick-tip { font-size: 11.5px; }
  .og-pick-selected { grid-template-columns: 34px minmax(0, 1fr); }
  .og-pick-selected-icon { width: 34px; height: 34px; }
  .og-pick-change { grid-column: 1 / -1; width: 100%; }
  .og-photo-slot { width: calc((100% - 24px) / 3); height: 92px; }
  .og-photo-add small { font-size: 10.5px; }
}
@media (prefers-reduced-motion: reduce) { .og-pick-selected { animation: none; } }

/* ---- T20: Moje ogłoszenia — zwarty nagłówek i czytelne karty statusu ---- */
.og-mine-head {
  position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 18px;
  margin: 0 0 16px; padding: 22px 24px; border-radius: 20px; color: #eafbd9;
  background:
    radial-gradient(120% 140% at 100% 0%, rgba(167,255,69,.18) 0%, rgba(167,255,69,0) 55%),
    linear-gradient(135deg, #145233 0%, #0d3a26 70%);
}
.og-mine-head-copy h1 { margin: 0 0 4px; color: #fff; font-size: clamp(24px, 3vw, 32px); line-height: 1.1; letter-spacing: -.02em; }
.og-mine-head-copy p { max-width: 62ch; margin: 0; color: rgba(234,251,217,.86); font-size: 14px; line-height: 1.5; }
.og-wrap .og-mine-add { flex: 0 0 auto; min-height: 46px; padding: 0 18px; border: 0; border-radius: 12px; background: #a7ff45; color: #0d3a26 !important; font-size: 14.5px; font-weight: 900; box-shadow: 0 6px 18px rgba(0,0,0,.18); }
.og-wrap .og-mine-add:hover { background: #bdff6e; }
.og-mine-notice { margin: 0 0 14px; padding: 12px 16px; border: 1px solid #b8dd8a; border-radius: 14px; background: #f4fdea; color: #25442f; font-size: 14px; font-weight: 650; line-height: 1.45; }
.og-mine-notice.st-fix { border-color: #eed49a; background: #fff8e6; color: #5f4506; }
.og-mine { gap: 12px; }
.og-mine-card { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 16px; padding: 12px; border: 1px solid #dde7dc; border-radius: 18px; background: #fff; box-shadow: 0 4px 16px rgba(16,37,26,.04); }
.og-mine-card.st-fix { border-color: #eed49a; }
.og-mine-card.st-rejected, .og-mine-card.st-blocked { border-color: #e8c3bb; }
.og-mine-thumb { width: 132px; height: 112px; border-radius: 13px; }
.og-mine-main { display: grid; align-content: start; gap: 5px; min-width: 0; }
.og-mine-top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.og-mine-status { display: inline-flex; align-items: center; gap: 6px; min-height: 24px; padding: 0 10px; border-radius: 999px; font-size: 11.5px; font-weight: 850; }
.og-mine-status::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.og-mine-status.st-live { background: #e6f6df; color: #17603b; }
.og-mine-status.st-pending { background: #eef4ff; color: #28508a; }
.og-mine-status.st-pending::before { animation: og-pulse 1.4s ease-in-out infinite; }
.og-mine-status.st-fix { background: #fff3d6; color: #7a5300; }
.og-mine-status.st-rejected, .og-mine-status.st-blocked { background: #fde8e4; color: #9a2a1d; }
.og-mine-status.st-closed { background: #eef0ee; color: #56615a; }
.og-mine-status.st-expired { background: #fff3cd; color: #664d03; }
@keyframes og-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
.og-mine-no { color: #7a8b80; font-size: 11.5px; font-weight: 650; }
.og-mine-title { margin: 0; overflow: hidden; color: #10251a; font-size: 16px; font-weight: 850; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.og-mine-title a { color: inherit !important; text-decoration: none; }
.og-mine-title a:hover { text-decoration: underline; }
.og-mine-sub { margin: 0; color: #4d6155; font-size: 13px; font-weight: 650; }
.og-mine-explain { margin: 2px 0 4px; color: #3d5446; font-size: 13px; line-height: 1.5; }
.og-mine-card.st-fix .og-mine-explain { color: #5f4506; }
.og-mine-acts { display: flex; flex-wrap: wrap; gap: 7px; }
.og-wrap .og-mine-act { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 12px; border: 1px solid #d3ded3; border-radius: 10px; background: #fbfdfa; color: #25442f !important; font: inherit; font-size: 13px; font-weight: 800; text-decoration: none; cursor: pointer; }
.og-wrap .og-mine-act:hover { border-color: #1f7a45; background: #f1faeb; }
.og-wrap .og-mine-act.is-primary { border-color: #1f7a45; background: #1f7a45; color: #fff !important; }
.og-wrap .og-mine-act.is-primary:hover { background: #17603b; }
.og-wrap .og-mine-act.danger { color: #9a2a1d !important; }
.og-wrap .og-mine-act.danger:hover { border-color: #b3261e; background: #fde8e6; }
.og-mine-act:disabled { opacity: .55; cursor: progress; }
.og-mine-empty .og-empty-emoji { color: #1f7a45; }
.og-mine-empty .og-empty-emoji .og-ico { width: 44px; height: 44px; }
@media (max-width: 700px) {
  .og-mine-head { flex-direction: column; align-items: stretch; gap: 14px; padding: 18px; border-radius: 18px; }
  .og-wrap .og-mine-add { width: 100%; }
  .og-mine-card { grid-template-columns: 92px minmax(0, 1fr); gap: 12px; padding: 10px; }
  .og-mine-thumb { width: 92px; height: 92px; }
  .og-mine-title { font-size: 15px; white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .og-mine-acts { grid-column: 1 / -1; }
  .og-mine-main { display: contents; }
  .og-mine-card > .og-mine-thumb { grid-row: span 4; }
}
@media (prefers-reduced-motion: reduce) { .og-mine-status.st-pending::before { animation: none; } }

/* Pasek wyników na desktopie: licznik, Filtry i sortowanie w jednym rzędzie (wcześniej Filtry spadały pod sortowanie). */
@media (min-width: 701px) {
  .og-results-tools > .og-filter-details, .og-results-tools > .og-quick-sort { grid-row: 1; }
}

/* Konta biur (faza 1, za flagą): plakietka „Biuro: …” */
/* ==========================================================================
   Układ C „mapa i układ kompaktowy” (zatwierdzony 7.10.2026, makieta
   docs/makiety/biura-20261007). Jeden wygląd dla ogłoszeń prywatnych, biur
   i urzędowych; biuro = plakietka „Oferta biura” (ciemna zieleń) + kontakt.
   ========================================================================== */
.og-visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Plakietka biura: ciemna zieleń marki zamiast błękitu (księga: bez błękitów). */
.og-badge-agency { border: 0; background: #103221; color: #a7ff45; }
.og-item-badge.og-item-badge-agency { gap: 5px; border-color: #103221; background: #103221; color: #a7ff45; }
.og-item-badge-agency .og-ico { flex: 0 0 auto; }
.og-item-badge-type { border-color: #d2dfd2; background: #f6f9f4; color: #335341; }

/* --- strona ogłoszenia --- */
.og-item--c { grid-template-columns: minmax(0, 1fr) 340px; grid-template-areas: "media side" "main side"; gap: 16px 22px; }
.og-item--c.has-map { grid-template-areas: "media media" "main side"; }
.og-item--c > .og-media-pair { grid-area: media; min-width: 0; }
.og-item--c > .og-item-main { grid-area: main; min-width: 0; }
.og-item--c > .og-item-side { grid-area: side; display: grid; gap: 12px; align-content: start; }
.og-media-pair { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.og-media-pair.has-map { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: stretch; }
.og-item--c .og-media-pair .og-gallery { margin: 0; }
.og-item--c .og-gallery-main:not(.og-parcel-preview) { aspect-ratio: 4 / 3; object-fit: cover; background: #e8efe6; }
.og-item--c .og-gallery-none { min-height: 260px; height: 100%; box-sizing: border-box; }
.og-parcel-map { position: relative; display: flex; flex-direction: column; min-height: 300px; margin: 0; overflow: hidden; border: 1px solid #d4e1d4; border-radius: 17px; background: #e8efe6; }
.og-parcel-map-canvas { flex: 1 1 auto; min-height: 260px; background: #e3ece1; }
.og-parcel-map-wait { display: flex; height: 100%; min-height: 260px; align-items: center; justify-content: center; gap: 8px; color: #455b4d; font-size: 13px; font-weight: 700; }
.og-parcel-map figcaption { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 12px; padding: 0 12px; border-top: 1px solid #dbe5da; background: #fffef9; color: #455b4d; font-size: 12px; font-weight: 650; }
.og-parcel-map figcaption a { display: inline-flex; align-items: center; min-height: 44px; color: #17603b; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.og-parcel-map figcaption a:focus-visible { outline: 3px solid #17603b; outline-offset: 2px; }
.og-parcel-map .leaflet-control-attribution { font-size: 10px; }

.og-item--c .og-item-heading { margin: 2px 0 14px; }
.og-item--c .og-item-badges { align-items: center; gap: 6px 10px; margin-bottom: 8px; }
.og-item-fresh { display: inline-flex; align-items: center; gap: 5px; color: #455b4d; font-size: 12px; font-weight: 650; }
.og-item--c .og-save--inline { margin-left: auto; }
.og-item--c .og-item-title { margin: 0 0 6px; font-size: clamp(24px, 2.4vw, 30px); line-height: 1.14; }

/* Kompaktowa tabela danych (2 kolumny na komputerze). */
.og-ctable { margin: 0 0 14px; overflow: hidden; border: 1px solid #d4e1d4; border-radius: 14px; background: #fffef9; }
.og-ctable dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.og-ctable-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; min-height: 44px; padding: 10px 14px; border-bottom: 1px solid #e3eae2; box-sizing: border-box; }
.og-ctable-row:nth-child(odd) { border-right: 1px solid #e3eae2; }
.og-ctable dt { margin: 0; color: #455b4d; font-size: 13px; font-weight: 600; }
.og-ctable dd { margin: 0; color: #10251a; font-size: 14px; font-weight: 820; text-align: right; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.og-ctable-row.is-muted dd { color: #455b4d; font-weight: 650; font-style: italic; }
.og-ctable dl > .og-ctable-row:nth-last-child(-n+2):nth-child(odd), .og-ctable dl > .og-ctable-row:last-child { border-bottom: 0; }

/* Wyraźne przejście do pełnego raportu działki (zamiast skrótu danych w ogłoszeniu). */
.og-wrap a.og-report-cta { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 12px; margin: 0 0 16px; padding: 14px 16px; border: 1px solid #b8d6c0; border-radius: 16px; background: #f1f8ef; color: #10251a !important; text-decoration: none; }
.og-wrap a.og-report-cta:hover { border-color: #17603b; background: #e8f4e5; }
.og-wrap a.og-report-cta:focus-visible { outline: 3px solid #17603b; outline-offset: 3px; }
.og-report-cta-ico { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: #103221; color: #a7ff45; }
.og-report-cta-txt strong { display: block; color: #10251a; font-size: 15px; line-height: 1.25; }
.og-report-cta-txt small { display: block; margin-top: 3px; color: #455b4d; font-size: 12.5px; line-height: 1.4; }
.og-report-cta-btn { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 12px; background: #103221; color: #fff; font-size: 13.5px; font-weight: 800; white-space: nowrap; }

.og-full-card.is-desc-only .og-item-desc { border-top: 0; }

/* Boks ceny: ciemna zieleń, jedna limonkowa akcja. */
.og-item--c .og-price-box { padding: 18px; border: 0; border-radius: 18px; background: #103221; box-shadow: 0 10px 28px rgba(16, 50, 33, .18); color: #f4ffe9; }
.og-item--c .og-price-box .og-price-val { margin: 0 0 14px; color: #fff; font-size: 30px; line-height: 1.1; letter-spacing: -.025em; font-variant-numeric: tabular-nums; }
.og-item--c .og-price-box.is-price-missing .og-price-val { font-size: 17px; line-height: 1.3; letter-spacing: 0; }
.og-price-m2 { color: #cfe8c4; font-size: 14px; font-weight: 700; letter-spacing: 0; white-space: nowrap; }
.og-wrap .og-item--c .og-price-box .og-source-btn, .og-item--c .og-price-box .og-phone-btn, .og-wrap .og-cta-main {
  display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 52px; padding: 10px 14px; border: 0; border-radius: 13px; box-sizing: border-box;
  background: #a7ff45; color: #0b2a1b !important; font: inherit; font-size: 15px; font-weight: 850; line-height: 1.25; text-align: center; text-decoration: none; cursor: pointer;
}
.og-wrap .og-item--c .og-price-box .og-source-btn:hover, .og-item--c .og-price-box .og-phone-btn:hover, .og-wrap .og-cta-main:hover { background: #bcff74; }
.og-wrap .og-item--c .og-price-box :is(.og-source-btn, .og-phone-btn):focus-visible, .og-wrap .og-cta-main:focus-visible { outline: 3px solid #a7ff45; outline-offset: 3px; }
.og-item-mobile-cta .og-cta-main:focus-visible { outline-color: #17603b; }
.og-item--c .og-price-box .og-source-btn + .og-phone-btn { border: 1px solid #5f8a6f; background: transparent; color: #f4ffe9 !important; }
.og-item--c .og-price-box .og-no-phone, .og-item--c .og-price-box .og-safe-note { color: #cfe8c4; border-color: rgba(244, 255, 233, .16); }

/* Karta biura. */
.og-agency-card { padding: 14px; border: 1px solid #d4e1d4; border-radius: 16px; background: #fffef9; }
.og-agency-head { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 10px; margin-bottom: 12px; }
.og-agency-mono { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #b8d6c0; border-radius: 12px; background: #f1f8ef; color: #103221; font-size: 13px; font-weight: 900; }
.og-agency-head b { display: block; color: #10251a; font-size: 14.5px; line-height: 1.25; overflow-wrap: anywhere; }
.og-agency-head small { color: #455b4d; font-size: 12px; }
.og-agency-acts { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; }
.og-wrap .og-agency-act, .og-agency-acts .og-phone-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 0 12px; border: 1px solid #b8d6c0; border-radius: 11px; background: #fff; color: #17603b !important; font: inherit; font-size: 13px; font-weight: 800; text-decoration: none; cursor: pointer; box-sizing: border-box; }
.og-wrap .og-agency-act:hover { border-color: #17603b; background: #f1f8ef; }
.og-wrap .og-agency-act:focus-visible { outline: 3px solid #17603b; outline-offset: 3px; }

/* --- lista: mapa z pinezkami + gęsta lista --- */
.og-browse-split.has-map { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.og-list-map { position: sticky; top: 86px; margin: 0; overflow: hidden; border: 1px solid #d4e1d4; border-radius: 17px; background: #fffef9; }
.og-list-map > summary { display: none; }
.og-list-map-canvas { height: min(72vh, 640px); min-height: 380px; background: #e3ece1; }
.og-list-map-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0; padding: 9px 12px; border-top: 1px solid #dbe5da; color: #455b4d; font-size: 12px; font-weight: 650; }
.og-list-map-note { flex-basis: 100%; font-weight: 500; }
.og-pin-key { display: inline-block; width: 12px; height: 12px; border: 2px solid #103221; border-radius: 50%; background: #fff; vertical-align: -1px; }
.og-pin-key.is-agency { border-radius: 3px; border-color: #a7ff45; background: #103221; }
.og-pin-wrap { background: none; border: 0; }
.og-pin { position: absolute; left: 0; top: 0; transform: translate(-50%, calc(-100% - 7px)); display: inline-flex; align-items: center; min-height: 26px; padding: 0 9px; border: 2px solid #103221; border-radius: 999px; background: #fff; color: #10251a; font: 800 12px/1 system-ui, -apple-system, "Segoe UI", sans-serif; white-space: nowrap; box-shadow: 0 3px 10px rgba(16, 50, 33, .22); }
.og-pin::after { content: ''; position: absolute; left: 50%; bottom: -8px; width: 0; height: 0; margin-left: -6px; border: 6px solid transparent; border-bottom: 0; border-top-color: #103221; }
.og-pin.is-agency { border-radius: 6px; border-color: #a7ff45; background: #103221; color: #a7ff45; }
.og-pin.is-dot { width: 16px; min-height: 16px; padding: 0; border-radius: 50%; }
.og-pin.is-active { z-index: 2; background: #a7ff45; color: #0b2a1b; }
.og-pin-wrap:focus { outline: none; }
.og-pin-wrap:focus-visible .og-pin { outline: 3px solid #17603b; outline-offset: 2px; }
.og-pin-pop { display: grid; gap: 3px; min-width: 160px; color: #10251a !important; text-decoration: none; }
.og-pin-pop b { font-size: 15px; }
.og-pin-pop span { color: #17603b; font-size: 12.5px; text-decoration: underline; }

.og-browse-split.has-map .og-grid { grid-template-columns: 1fr; gap: 0; overflow: hidden; border: 1px solid #d4e1d4; border-radius: 17px; background: #fffef9; }
.og-browse-split.has-map .og-card-cell { position: relative; border-bottom: 1px solid #e3eae2; }
.og-browse-split.has-map .og-card-cell:last-child { border-bottom: 0; }
.og-browse-split.has-map .og-card { grid-template-columns: 112px minmax(0, 1fr) 14px; min-height: 104px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.og-browse-split.has-map .og-card:hover, .og-browse-split.has-map .og-card.is-map-active { background: #f1f8ef; }
.og-browse-split.has-map .og-card.is-agency { box-shadow: inset 3px 0 0 #103221; }
.og-browse-split.has-map .og-card-img { width: 112px; height: 100%; min-height: 104px; border-radius: 0; }
.og-browse-split.has-map .og-card-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; padding: 11px 44px 11px 12px; }
.og-browse-split.has-map .og-card-kicker { order: -3; display: flex; flex-wrap: wrap; gap: 4px; }
.og-browse-split.has-map .og-card-price { order: -2; color: #10251a; font-size: 16.5px; font-weight: 900; font-variant-numeric: tabular-nums; }
.og-browse-split.has-map .og-card-price.is-missing { color: #455b4d; font-size: 13px; font-weight: 700; }
.og-browse-split.has-map .og-card-title { font-size: 14px; line-height: 1.3; }
.og-card-agency { display: inline-flex; align-items: center; gap: 5px; min-width: 0; overflow: hidden; color: #17603b; font-size: 12px; font-weight: 800; white-space: nowrap; text-overflow: ellipsis; }

@media (max-width: 1180px) {
  .og-item--c { grid-template-columns: minmax(0, 1fr) 300px; }
}
@media (max-width: 1023px) {
  .og-browse-split.has-map { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .og-list-map { position: static; }
  .og-list-map > summary { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 14px; color: #103221; font-size: 14px; font-weight: 800; cursor: pointer; list-style: none; }
  .og-list-map > summary::-webkit-details-marker { display: none; }
  .og-list-map[open] > summary { border-bottom: 1px solid #dbe5da; }
  .og-list-map > summary:focus-visible { outline: 3px solid #17603b; outline-offset: -3px; }
  .og-list-map-canvas { height: 300px; min-height: 0; }
}
@media (max-width: 860px) {
  .og-item--c, .og-item--c.has-map { grid-template-columns: minmax(0, 1fr); grid-template-areas: "media" "main" "side"; gap: 12px; }
  .og-media-pair.has-map { grid-template-columns: minmax(0, 1fr); }
  .og-parcel-map { min-height: 0; }
  .og-parcel-map-canvas, .og-parcel-map-wait { height: 240px; min-height: 240px; }
  .og-media-pair > .og-gallery { order: 1; }
  .og-media-pair > .og-parcel-map { order: 2; }
  .og-item--c .og-gallery-none { min-height: 170px; }
  .og-item-detail.og-item--c .og-item-side { display: none; }
  .og-item-detail.og-item--c.is-agency .og-item-side { display: grid; position: static; }
  .og-item--c .og-item-side .og-price-box { display: none; }
  .og-item-detail.og-item--c .og-item-heading { order: 1; margin: 2px 4px 12px; }
  .og-item-detail.og-item--c .og-siblings { order: 2; }
  .og-item-detail.og-item--c .og-ctable { order: 3; }
  .og-item-detail.og-item--c .og-item-mobile-cta { order: 4; }
  .og-item-detail.og-item--c .og-report-cta { order: 5; }
  .og-item-detail.og-item--c .og-lots { order: 6; }
  .og-item-detail.og-item--c .og-full-card { order: 7; }
  .og-item-detail.og-item--c .og-item-report { order: 8; }
  .og-item--c .og-item-meta { display: flex; }
  .og-item--c .og-save--inline { margin-left: 0; }
  .og-ctable dl { grid-template-columns: minmax(0, 1fr); }
  .og-ctable-row:nth-child(odd) { border-right: 0; }
  .og-ctable dl > .og-ctable-row:nth-last-child(-n+2):nth-child(odd) { border-bottom: 1px solid #e3eae2; }
  .og-ctable dl > .og-ctable-row:last-child { border-bottom: 0; }
  .og-item-mobile-cta .og-cta-main { margin-top: 10px; }
  .og-item-mobile-cta .og-price-m2 { color: #455b4d; }
  .og-wrap a.og-report-cta { grid-template-columns: 44px minmax(0, 1fr); }
  .og-report-cta-btn { grid-column: 1 / -1; justify-content: center; }
  .og-browse-split.has-map .og-card { grid-template-columns: 96px minmax(0, 1fr) 12px; }
  .og-browse-split.has-map .og-card-img { width: 96px; min-height: 96px; }
}
@media (max-width: 380px) {
  .og-browse-split.has-map .og-card { grid-template-columns: 84px minmax(0, 1fr) 10px; }
  .og-browse-split.has-map .og-card-img { width: 84px; }
  .og-ctable-row { padding: 10px 12px; }
}


/* 7.10.2026 (Łukasz: „ile po prawej pustego miejsca”): szerszy układ na dużym ekranie, prawa kolumna
   z treścią — cena, biuro, raport działki, inne działki w okolicy; pełne dane w dwóch kolumnach. */
@media (min-width: 1280px) {
  .og-wrap { max-width: 1280px; }
  .og-item--c { grid-template-columns: minmax(0, 1fr) 372px; gap: 18px 28px; }
}
.og-item-detail.og-item--c > .og-item-side { position: static; }
.og-wrap a.og-side-report { display: grid; gap: 10px; padding: 16px; border: 1px solid #b8d6c0; border-radius: 16px; background: #f1f8ef; color: #10251a; text-decoration: none; }
.og-wrap a.og-side-report:hover { border-color: #17603b; background: #e8f4e5; }
.og-wrap a.og-side-report:focus-visible { outline: 3px solid #17603b; outline-offset: 3px; }
.og-side-report-head { display: flex; align-items: center; gap: 10px; }
.og-side-report-head .og-report-cta-ico { width: 40px; height: 40px; }
.og-side-report-head strong { font-size: 15.5px; line-height: 1.25; }
.og-side-report-list { color: #455b4d; font-size: 13px; line-height: 1.45; }
.og-side-report-btn { display: flex; align-items: center; justify-content: center; min-height: 44px; border-radius: 12px; background: #103221; color: #fff; font-size: 14px; font-weight: 800; }
.og-nearby { padding: 14px; border: 1px solid #d4e1d4; border-radius: 16px; background: #fffef9; }
.og-nearby h2 { margin: 2px 2px 10px; color: #10251a; font-size: 15.5px; line-height: 1.25; }
.og-nearby ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.og-wrap a.og-nearby-card { display: grid; grid-template-columns: 76px minmax(0, 1fr); align-items: center; gap: 12px; min-height: 64px; padding: 6px; border-radius: 12px; color: #10251a; text-decoration: none; }
.og-wrap a.og-nearby-card:hover { background: #f1f8ef; }
.og-wrap a.og-nearby-card:focus-visible { outline: 3px solid #17603b; outline-offset: 1px; }
.og-nearby-img { position: relative; display: block; width: 76px; height: 56px; overflow: hidden; border-radius: 10px; background: #e3ece1; }
.og-nearby-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.og-nearby-img :is(.og-media-art-place, .og-media-art-note) { display: none; }
.og-nearby-img .og-media-art { position: absolute; inset: 0; display: grid; place-items: center; padding: 0; }
.og-nearby-txt { display: grid; gap: 2px; min-width: 0; }
.og-nearby-txt b { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 14px; line-height: 1.25; }
.og-nearby-txt span { overflow: hidden; color: #536457; font-size: 12.5px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.og-wrap a.og-nearby-all { display: inline-flex; align-items: center; min-height: 44px; margin: 4px 6px 0; color: var(--og-action); font-size: 13.5px; font-weight: 750; }
@media (min-width: 861px) {
  .og-item-detail.og-item--c .og-item-main .og-report-cta { display: none; }
  .og-item-detail.og-item--c .og-item-details tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; }
  .og-item-detail.og-item--c .og-item-details tr { display: grid; grid-template-columns: 128px minmax(0, 1fr); }
  .og-item-detail.og-item--c .og-item-details th { width: auto; }
}
@media (max-width: 860px) {
  .og-item-detail.og-item--c .og-item-side { display: grid; position: static; }
  .og-wrap a.og-side-report { display: none; }
}
