/* Gebäude Berlin: additions on top of style.css (Budynki shell, design/DESIGN.md canon). */
.bw .gb-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px clamp(24px, 4vw, 64px); }
.bw .gb-kicker { font-size: 15px; font-weight: 500; color: var(--cw99-blue); margin-bottom: 8px; }
.bw .gb-gap { margin-top: 28px; }
.bw .gb-note { font-size: 15px; line-height: 1.45; color: var(--cw99-muted); }
.bw .gb-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.bw .gb-tags li { background: var(--cw99-chip); color: var(--cw99-blue); border-radius: 999px; padding: 6px 14px; font-weight: 500; font-size: 15px; }
.bw .gb-tags li span { color: #000; opacity: .55; font-weight: 400; margin-right: 4px; }
.bw .gb-chip { display: inline-block; background: var(--cw99-chip); color: var(--cw99-blue); border-radius: 999px; padding: 2px 10px; font-weight: 500; font-size: 13px; }
.bw .gb-list { display: flex; flex-direction: column; gap: 10px; font-size: 17px; margin-bottom: 14px; }
.bw .gb-supply { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 26px 40px; }
.bw .gb-supply dt { font-size: 15px; opacity: .55; }
.bw .gb-supply dd { margin-top: 6px; font-size: 18px; font-weight: 500; }
.bw .gb-supply dd.gb-note { font-size: 15px; font-weight: 400; }
.bw .gb-decades { display: flex; flex-direction: column; gap: 6px; }
.bw .gb-decades li { display: grid; grid-template-columns: 92px minmax(0, 1fr) 44px; align-items: center; gap: 12px; font-size: 14px; }
.bw .gb-track { display: block; height: 10px; background: var(--cw99-card); border-radius: 999px; overflow: hidden; }
.bw .gb-track span { display: block; height: 100%; background: var(--cw99-blue); border-radius: 999px; }
.bw .gb-val { text-align: right; font-variant-numeric: tabular-nums; }
.bw .gb-wolbar { display: flex; height: 12px; border-radius: 999px; overflow: hidden; background: var(--cw99-card); margin: 8px 0 10px; }
.bw .gb-wolbar--sm { display: inline-flex; width: clamp(120px, 14vw, 220px); height: 10px; margin: 0; vertical-align: middle; }
.bw .gb-w-e { background: #92abe2; }
.bw .gb-w-m { background: #4772cf; }
.bw .gb-w-g { background: #2457c6; }
.bw .gb-legend { display: flex; gap: 18px; margin-top: 14px; font-size: 14px; }
.bw .gb-legend span { display: inline-flex; align-items: center; gap: 6px; }
.bw .gb-legend i { display: inline-block; width: 14px; height: 10px; border-radius: 3px; }
.bw .gb-hero { align-items: center; }
.bw .gb-hero-facts { align-self: center; }
.bw .gb-results { display: flex; flex-direction: column; gap: 12px; font-size: 18px; }
.bw .gb-prose { max-width: none; }
.bw .gb-prose p { max-width: 62ch; margin-top: 14px; font-size: 17px; line-height: 1.55; }
.bw .gb-tax { margin-top: 22px; max-width: 62ch; }
.bw .bw-rank-val { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 760px) {
  .bw .gb-two { grid-template-columns: 1fr; }
  .bw .gb-decades li { grid-template-columns: 80px minmax(0, 1fr) 40px; }
}

/* Review 2026-11-08: page nav always present, tables on phones, hierarchy, supply list */
.bw .gb-page-nav{display:flex;flex-wrap:wrap;gap:0 24px;margin-top:24px;font-size:18px}
.bw .gb-page-nav a{display:inline-flex;align-items:center;min-height:44px}
.bw .gb-plain{color:#000;opacity:.55}
.bw .gb-kicker--space{margin-top:26px}
.bw #baualter .bw-bignum{font-size:clamp(26px,2.3vw,38px)}
.bw .gb-tags{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:16px 28px;margin-top:28px}
.bw .gb-tags dt{font-size:15px;opacity:.55}
.bw .gb-tags dd{margin-top:4px;font-size:17px;font-weight:500;line-height:1.35}
.bw .gb-wolbar > span + span{box-shadow:inset 2px 0 0 #fff}
.bw .bw-section-head .gb-legend{margin:0;opacity:1;font-size:14px;flex-wrap:wrap}
.bw .bw-section-head .gb-legend span:last-child{opacity:.55}
.bw .bw-section-head .hs-brand{opacity:1}
.bw .bw-here .gb-chip{background:#fff}
.bw .bw-table .bw-n + th,.bw .bw-table .bw-n + td{padding-left:24px}
.bw .gb-supply dd a{display:inline-flex;align-items:center;min-height:32px}
.bw .bw-plan--street .bw-svg-north{transform:translate(936px,30px) scale(1.8)}
@media (max-width:1025px){.bw .gb-hero{row-gap:40px}}
@media (max-width:760px){
  .bw .gb-page-nav{gap:0 20px;font-size:16px}
  .bw #bezirke .bw-table tbody th,.bw #ortsteile .bw-table tbody th{white-space:normal}
  .bw .gb-supply dd a{min-height:44px}
  .bw .bw-table--addr tbody th a{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:0}
  .bw .bw-plan--street .bw-svg-north text{font-size:14px}
}

/* Multi-city & PLZ hubs (2026-11-11) */
.bw .gb-city-plz-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 310px), 1fr)); gap: 20px; }
.bw .gb-city-plz-card { background: var(--cw99-card); border: 1px solid var(--cw99-line); border-radius: var(--cw99-r-lg); padding: 20px 22px; display: flex; flex-direction: column; gap: 14px; }
.bw .gb-city-plz-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.bw .gb-city-plz-head h3 { font-size: 20px; font-weight: 700; }
.bw .gb-plz-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.bw .gb-plz-pill { display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border-radius: 999px; background: #fff; border: 1px solid var(--cw99-line); color: #0f172a; font-size: 14.5px; font-weight: 600; font-variant-numeric: tabular-nums; }
.bw .gb-plz-pill span { color: var(--cw99-muted); font-weight: 400; font-size: 13.5px; }
.bw .gb-plz-pill:hover { border-color: var(--cw99-blue); color: var(--cw99-blue); background: var(--cw99-chip); text-decoration: none; }
.bw .gb-plz-pill--more { background: var(--cw99-chip); border-color: transparent; color: var(--cw99-blue); }
