/* Sonnberger Immobilien – Bezirks-Landingpage CSS
   Nur für bezirk.php – ergänzt style.css
   Version 2.0 | 2026
*/

/* ── HERO: 4-SPALTEN STATS ───────────────────────────────────────────── */
.hero-stats-inner--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:860px){.hero-stats-inner--4{grid-template-columns:repeat(2,1fr)}}

/* ── KARTE: volle Breite, Rankings darunter ──────────────────────────── */
.karte-rankings-stacked{display:flex;flex-direction:column;gap:32px;margin-top:32px}
.karte-container{position:relative;width:100%}
.interactive-map{position:relative;width:100%;cursor:pointer}
.interactive-map svg{width:100%;height:auto;display:block}
.interactive-map path{transition:opacity .15s}
.gemeinde-hovered{opacity:.75}

/* ── KARTEN-FARBLEGENDE ──────────────────────────────────────────────── */
.farb-legende{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:14px}
.legende-item{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--grey)}
.legende-farbe{width:16px;height:16px;border-radius:4px;flex:0 0 auto;border:1px solid rgba(0,0,0,.08)}

/* ── KARTE TOOLTIP ───────────────────────────────────────────────────── */
.map-tooltip{position:fixed;z-index:999;pointer-events:none;background:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.18);padding:14px 16px;min-width:220px;max-width:260px;border:1px solid var(--line)}
.mtt-name{font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;color:var(--dark);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.mtt-wappen{width:22px;height:22px;object-fit:contain;flex:0 0 auto}
.mtt-rows{display:flex;flex-direction:column;gap:5px}
.mtt-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mtt-label{font-size:12px;color:var(--muted)}
.mtt-val{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;color:var(--dark)}
.mtt-pn-badge{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;letter-spacing:.04em}
.mtt-badge{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px}
.mtt-badge--sehr-hoch{background:#e66b2e;color:#fff}
.mtt-badge--hoch{background:var(--green);color:#fff}
.mtt-badge--mittel{background:#F1CD63;color:#5a4a00}
.mtt-badge--niedrig{background:var(--line);color:var(--grey)}

/* ── BEZIRKS-RANKINGS 2x2 ────────────────────────────────────────────── */
.rankings-box{display:grid;gap:20px}
.rankings-box--2x2{grid-template-columns:1fr 1fr}
.rankings-section-head{margin-bottom:4px}
.rankings-meta-hint{font-size:13px;color:var(--muted);display:flex;align-items:flex-start;gap:6px;line-height:1.5}
.rankings-meta-hint i{flex:0 0 auto;margin-top:2px}

.ranking-card{background:#fff;border-radius:14px;overflow:hidden;display:flex;flex-direction:row;box-shadow:var(--shadow);border:1px solid var(--line)}
.ranking-card-left{padding:18px 12px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:52px}
.ranking-card-icon{width:38px;height:38px;background:none !important;display:flex;align-items:center;justify-content:center}
.ranking-card-icon i{font-size:30px}
.ranking-card--orange .ranking-card-left{background:#fff3eb}
.ranking-card--orange .ranking-card-icon i{color:#E66B2E}
.ranking-card--blue .ranking-card-left{background:#e8f6fd}
.ranking-card--blue .ranking-card-icon i{color:#77c7f0}
.ranking-card--green .ranking-card-left{background:var(--green-light)}
.ranking-card--green .ranking-card-icon i{color:var(--green)}
.ranking-card--yellow .ranking-card-left{background:#fffbe6}
.ranking-card--yellow .ranking-card-icon i{color:#c9a400}
.ranking-card-right{padding:18px 20px;flex:1;min-width:0}
.ranking-card-title{font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;color:var(--dark);margin-bottom:2px}
.ranking-hint{font-size:12px;color:var(--muted);margin-bottom:12px;line-height:1.4}

/* Ranking-Liste mit Thumbnails */
.ranking-list{list-style:none !important;padding:0 !important;margin:0;display:flex;flex-direction:column;gap:10px}
.ranking-list li{display:flex;flex-direction:row;align-items:center;gap:10px}
.ranking-number{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:800;color:var(--muted);flex:0 0 16px;text-align:center}
.ranking-thumb{flex:0 0 90px;width:90px;height:60px;border-radius:7px;overflow:hidden;display:block;text-decoration:none;background:var(--cream)}
.ranking-thumb > img{display:block;width:90px;height:60px;object-fit:cover;object-position:center 40%;transition:transform .3s}
.ranking-thumb:hover > img{transform:scale(1.07)}
.ranking-item-name{flex:1;font-size:14px;color:var(--dark);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ranking-item-price{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;color:var(--green-dark);white-space:nowrap}

@media(max-width:900px){.rankings-box--2x2{grid-template-columns:1fr}}
@media(max-width:600px){
  .ranking-thumb{flex:0 0 64px;width:64px;height:60px}
  .ranking-thumb > img{width:64px;height:60px}
  .ranking-item-name{font-size:13px}
  .ranking-item-price{font-size:12px}
}

/* ── GEMEINDEN-TABELLE ───────────────────────────────────────────────── */
.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}
.gemeinden-tabelle{width:100%;border-collapse:collapse;font-size:14px}
.gemeinden-tabelle thead tr{border-bottom:2px solid var(--line)}
.gemeinden-tabelle th{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 12px;text-align:left;white-space:nowrap}
.gemeinden-tabelle th.th-nachfrage,.gemeinden-tabelle th.th-bericht{text-align:left}
.th-sub{font-size:10px;font-weight:400;letter-spacing:.04em;display:block;color:var(--muted);text-transform:none}
.gemeinden-tabelle tbody tr{border-bottom:1px solid var(--line);transition:background .15s}
.gemeinden-tabelle tbody tr:nth-child(even){background:var(--cream-2)}
.gemeinden-tabelle tbody tr:hover{background:var(--cream)}
.gemeinden-tabelle td{padding:10px 12px;vertical-align:middle;text-align:left}
.col-gemeinde{display:flex;align-items:center;gap:10px;font-weight:500;color:var(--dark);white-space:nowrap}
.col-wappen{width:36px;height:36px;object-fit:contain;flex:0 0 auto; display:none}
.col-preis{text-align:left;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;color:var(--dark);white-space:nowrap}
.col-trend{text-align:left}
.trend-arrow{font-size:15px;font-weight:700}
.col-nachfrage{text-align:left;white-space:nowrap;min-width:90px}
.nachfrage-badge{display:inline-block;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:.04em;white-space:nowrap;width:auto !important;min-width:0 !important}
.nachfrage-badge.sehr-hoch{background:#e66b2e;color:#fff}
.nachfrage-badge.hoch{background:var(--green);color:#fff}
.nachfrage-badge.mittel{background:#F1CD63;color:#5a4a00}
.nachfrage-badge.niedrig{background:var(--line);color:var(--grey)}
.col-bericht{text-align:left}
.link-bericht{display:inline-flex;align-items:center;gap:4px;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green-dark);text-decoration:none;white-space:nowrap}
.link-bericht:hover{color:var(--green);text-decoration:underline}
@media(max-width:760px){
  .gemeinden-tabelle{font-size:13px}
  .col-wappen{width:28px;height:28px}
  .gemeinden-tabelle th,.gemeinden-tabelle td{padding:8px 8px}
}

/* ── BEWERTUNGS-BANNER ───────────────────────────────────────────────── */
.section-bewertung-banner{padding:0}
.bew-banner-bg{position:relative;width:100%;min-height:320px;background-size:cover;background-position:center 40%;display:flex;align-items:center}
.bew-banner-overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(20,40,5,.82) 0%,rgba(30,60,10,.60) 60%,rgba(20,40,5,.30) 100%)}
.bew-banner-inner{position:relative;z-index:1;max-width:var(--max);margin:0 auto;padding:56px 48px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.bew-banner-text{flex:1;min-width:260px}
.bew-banner-eyebrow{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:12px;display:flex;align-items:center;gap:6px}
.bew-banner-title{font-family:'Montserrat',sans-serif;font-size:clamp(24px,3vw,40px);font-weight:800;color:#fff;line-height:1.1;letter-spacing:-.02em;margin-bottom:12px}
.bew-banner-sub{font-size:16px;color:rgba(255,255,255,.8);line-height:1.6;max-width:520px}
.bew-banner-actions{display:flex;gap:14px;flex-wrap:wrap;flex-shrink:0}
.bew-btn-primary{display:inline-flex;align-items:center;gap:10px;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:15px 26px;border-radius:8px;background:var(--green);color:#fff;text-decoration:none;transition:all .2s;box-shadow:0 4px 16px rgba(127,176,41,.4)}
.bew-btn-primary:hover{background:var(--green-dark);transform:translateY(-1px)}
.bew-btn-euro{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.25);display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.bew-btn-outline{display:inline-flex;align-items:center;gap:8px;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:15px 26px;border-radius:8px;border:2px solid rgba(255,255,255,.6);color:#fff;text-decoration:none;transition:all .2s}
.bew-btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.12)}
@media(max-width:720px){
  .bew-banner-inner{padding:40px 24px;flex-direction:column;align-items:flex-start}
  .bew-banner-actions{width:100%}
  .bew-btn-primary,.bew-btn-outline{width:100%;justify-content:center}
}

/* ── BEWERTUNGS-CTA (grüne Box unten) ────────────────────────────────── */
.section-bewertung{padding:64px 48px;background:var(--white)}
.bew-green-wrap{background:linear-gradient(to top,#365f11 0%,#5a9e20 100%);background-image:url('/wohnmarkt/assets/bg-bewertung.jpg');background-size:cover;background-position:center center;padding:56px 52px 52px;max-width:var(--max);margin:0 auto;border-radius:20px;position:relative;overflow:hidden}
.bew-green-wrap::before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(30,65,5,.82) 0%,rgba(54,95,17,.70) 100%);z-index:0}
.bew-green-wrap > *{position:relative;z-index:1}
.bew-green-label{display:inline-flex;align-items:center;gap:8px;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#fff;margin-bottom:16px}
.bew-green-label i{font-size:14px}
.bew-green-title{font-family:'Montserrat',sans-serif;font-size:clamp(28px,3.5vw,44px);font-weight:700;line-height:1.1;color:#fff;letter-spacing:-.02em;margin-bottom:10px;max-width:700px}
.bew-card-single{background:#fff;border-radius:15px;padding:36px 32px 32px;display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start;box-shadow:0 8px 32px rgba(0,0,0,.12)}
.bew-card-content{display:flex;flex-direction:column}
.bew-card-visual{display:flex;flex-direction:column;gap:20px}
.bew-card-buttons{display:flex;flex-direction:column;gap:12px;margin-top:auto}
.bew-card-icon-wrap{width:52px;height:52px;border-radius:12px;background:var(--green-light);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.bew-card-icon-wrap i{font-size:24px;color:var(--green-dark)}
.bew-card-eyebrow{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green-dark);margin-bottom:8px}
.bew-card-title{font-family:'Montserrat',sans-serif;font-size:20px;font-weight:700;color:var(--dark);margin-bottom:12px;line-height:1.25}
.bew-card-text{font-size:15px;color:var(--muted);font-weight:400;line-height:1.75;margin-bottom:20px;flex:1}
.bew-card-list{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:8px}
.bew-card-list li{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--grey);font-weight:400}
.bew-card-list i{font-size:13px;color:var(--green);flex:0 0 auto;background:var(--green-light);border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center}
.bew-card-illustration{margin:0;flex:1;overflow:hidden}
.bew-card-illustration img{width:100%;height:auto;display:block;border-radius:8px}
.bew-card-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:15px 22px;border-radius:8px;cursor:pointer;transition:all .2s;text-decoration:none;border:none}
.bew-card-btn--primary{background:var(--green);color:#fff;box-shadow:0 4px 16px rgba(127,176,41,.35)}
.bew-card-btn--primary:hover{background:var(--green-dark);transform:translateY(-1px)}
.bew-card-btn-euro{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.25);display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex:0 0 auto}
.bew-card-btn--outline{background:transparent;border:2px solid var(--green);color:var(--green-dark)}
.bew-card-btn--outline:hover{background:var(--green);color:#fff}
@media(max-width:1080px){.section-bewertung{padding:56px 32px}.bew-card-single{grid-template-columns:1fr;gap:24px}}
@media(max-width:600px){
  .section-bewertung{padding:40px 24px}
  .bew-green-wrap{padding:28px 20px 24px;border-radius:15px}
  .bew-green-title{font-size:26px}
  .bew-card-single{grid-template-columns:1fr;gap:16px;padding:24px 20px}
}

/* ── INTERVIEW ───────────────────────────────────────────────────────── */
.interview-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;padding:40px}
.interview-header{display:flex;gap:28px;align-items:flex-start;margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.interview-photo-wrap{flex:0 0 180px;width:180px;height:220px;border-radius:12px;overflow:hidden;background:var(--cream)}
.interview-photo{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.interview-meta{flex:1;display:flex;flex-direction:column;justify-content:center;gap:6px}
.interview-interviewer-label{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.interview-person-name{font-family:'Montserrat',sans-serif;font-size:24px;font-weight:800;color:var(--dark);line-height:1.1}
.interview-person-role{font-size:14px;color:var(--muted)}
.interview-lead-quote{font-family:'Montserrat',sans-serif;font-size:17px;font-weight:600;color:var(--green-dark);font-style:italic;line-height:1.4;margin-top:8px;padding-left:14px;border-left:3px solid var(--green)}
.interview-teaser{font-size:16px;line-height:1.75;color:var(--grey);margin-bottom:24px}
.interview-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}
.iq-item{background:var(--cream);border-radius:10px;padding:18px 20px;border-left:3px solid var(--green)}
.iq-item p{font-size:14px;font-style:italic;color:var(--dark);line-height:1.6;margin:0}
.interview-full{border-top:1px solid var(--line);padding-top:20px}
.interview-full-toggle{list-style:none;cursor:pointer;display:flex;gap:8px;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green-dark);user-select:none}
.interview-full-toggle::-webkit-details-marker{display:none}
.ift-close{display:none}
details[open] .ift-open{display:none}
details[open] .ift-close{display:inline-flex;align-items:center;gap:6px}
.interview-full-content{padding-top:24px;display:flex;flex-direction:column;gap:20px}
.iq-question{font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;color:var(--dark);margin-bottom:6px}
.iq-block p{font-size:15px;line-height:1.75;color:var(--grey)}
@media(max-width:700px){
  .interview-card{padding:24px 20px}
  .interview-header{flex-direction:column;gap:16px}
  .interview-photo-wrap{width:100%;height:200px}
  .interview-quotes{grid-template-columns:1fr}
}

/* ── ABSCHLUSS ───────────────────────────────────────────────────────── */
.section-abschluss{background:var(--dark);padding:72px 48px;text-align:center}
.section-abschluss .section-max{max-width:var(--max);margin:0 auto}
.section-abschluss h2{font-family:'Montserrat',sans-serif;font-size:clamp(28px,4vw,52px);font-weight:800;color:#fff;line-height:1.15;letter-spacing:-.02em;margin-bottom:16px}
.abschluss-text{font-size:18px;color:rgba(255,255,255,.65);max-width:560px;margin:0 auto}
@media(max-width:600px){.section-abschluss{padding:48px 24px}}

/* ── BEZIRK FOOTER ───────────────────────────────────────────────────── */
.bezirk-footer .footer-inner{max-width:var(--max);margin:0 auto}

/* ======================================================================
   KANONISCHE BEZIRKS-OVERRIDES
   Diese Datei wird nach style.css geladen. Alle konfliktanfälligen Regeln
   werden deshalb hier abschließend und auf .page-bezirk begrenzt gesetzt.
   ====================================================================== */

.page-bezirk .hero-photo-wrap{
  width:100%;
  max-width:calc(var(--max) + 96px);
}

.page-bezirk .hero-photo{
  border-radius:0;
}

.page-bezirk .section-marktueberblick .container,
.page-bezirk .section-alle-zahlen .container,
.page-bezirk .section-interview .container{
  max-width:var(--max);
}

/* Karte: kein Überlauf */
.page-bezirk .karte-container--large{
  overflow:hidden;
}
.page-bezirk .karte-container--large .interactive-map{
  width:100%;
  height:auto;
  overflow:hidden;
  display:block;
  margin-bottom:20px;
  background:transparent;
}
.page-bezirk .karte-container--large .interactive-map svg{
  width:100%;
  height:auto;
  display:block;
}

/* Rankings bleiben in einem sauberen 2x2-Raster */
.page-bezirk .rankings-box--2x2{
  width:100%;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  position:static;
}
.page-bezirk .rankings-meta-hint{
  grid-column:1 / -1;
}

/* Interview: die neue dunkle Kopfzeile statt der alten Kartenvariante */
.page-bezirk .interview-card{
  padding:0;
  margin-top:16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.page-bezirk .interview-header{
  display:grid;
  grid-template-columns:160px minmax(0,1fr);
  gap:0;
  align-items:stretch;
  min-height:180px;
  margin:0;
  padding:0;
  border:0;
  background:var(--dark);
  color:#fff;
}
.page-bezirk .interview-photo-wrap{
  width:160px;
  height:auto;
  min-height:180px;
  border-radius:0;
  overflow:hidden;
  background:var(--cream);
}
.page-bezirk .interview-photo{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top center;
}
.page-bezirk .interview-meta{
  padding:28px 32px;
  justify-content:center;
}
.page-bezirk .interview-interviewer-label{color:var(--green)}
.page-bezirk .interview-person-name{color:#fff}
.page-bezirk .interview-person-role{color:rgba(255,255,255,.58)}
.page-bezirk .interview-lead-quote{
  color:rgba(255,255,255,.9);
  border-left:2px solid var(--green);
}
.page-bezirk .interview-teaser{
  padding:28px 36px 0;
  margin:0;
}
.page-bezirk .interview-quotes{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin:24px 36px;
  background:var(--line);
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
}
.page-bezirk .iq-item{
  border:0;
  border-radius:0;
  background:var(--cream);
  padding:18px 20px;
}
.page-bezirk .interview-full{
  padding:0;
  border-top:1px solid var(--line);
}
.page-bezirk .interview-full-toggle{
  padding:18px 36px;
  background:var(--green);
  color:#fff;
}
.page-bezirk .interview-full-toggle:hover{
  background:var(--green-dark);
  color:#fff;
}
.page-bezirk .interview-full-content{
  padding:16px 36px 40px;
}

.page-bezirk .bezirk-footer .footer-inner{
  padding-top:52px;
  padding-bottom:52px;
}

@media(max-width:900px){
  .page-bezirk .rankings-box--2x2{
    grid-template-columns:1fr;
  }
  .page-bezirk .interview-quotes{
    grid-template-columns:1fr;
  }
}

@media(max-width:768px){
  .page-bezirk .hero-photo-wrap{
    padding-left:24px;
    padding-right:24px;
  }
  .page-bezirk .interview-header{
    grid-template-columns:1fr;
  }
  .page-bezirk .interview-photo-wrap{
    width:100%;
    height:220px;
    min-height:0;
  }
  .page-bezirk .interview-meta{
    padding:22px 24px;
  }
  .page-bezirk .interview-teaser{
    padding:20px 24px 0;
  }
  .page-bezirk .interview-quotes{
    margin:16px 24px;
  }
  .page-bezirk .interview-full-toggle{
    padding:16px 24px;
  }
  .page-bezirk .interview-full-content{
    padding:12px 24px 32px;
  }
}

@media(max-width:600px){
  .page-bezirk .hero-stats-inner--4{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .page-bezirk .karte-container{
    padding:14px;
  }
}


/* ── V3 KORREKTUREN: Tooltip / Rankings / Nummern ───────────────────── */
.page-bezirk .section-marktueberblick{
  background: #fff;
}
.page-bezirk .section-rankings{
  background: #f6f5f0;
}
.page-bezirk .karte-rankings-stacked{
  gap:0;
}
.page-bezirk .karte-container--large{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px 18px 14px;
  box-shadow:var(--shadow);
}
.page-bezirk .karte-container--large .interactive-map,
.page-bezirk .interactive-map{
  overflow:hidden;
}
.page-bezirk .map-tooltip{
  position:fixed;
  z-index:9999;
  pointer-events:none;
  width:280px;
  max-width:calc(100vw - 24px);
  min-width:280px;
  background:#fff !important;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 16px 36px rgba(0,0,0,.18);
  padding:0;
  overflow:hidden;
  box-sizing:border-box;
}
.page-bezirk .mtt-head{
  background:#fff !important;
  padding:14px 16px 10px;
  border-bottom:1px solid var(--line);
}
.page-bezirk .mtt-name{
  margin:0;
  background:#fff !important;
  color:var(--dark);
  font-size:15px;
  line-height:1.3;
  min-width:0;
}
.page-bezirk .mtt-wappen{
  width:24px;
  height:24px;
}
.page-bezirk .mtt-rows{
  padding:10px 16px 14px;
  gap:8px;
  background:#fff !important;
}
.page-bezirk .mtt-row{
  gap:12px;
}
.page-bezirk .mtt-label,
.page-bezirk .mtt-val,
.page-bezirk .mtt-pn-badge,
.page-bezirk .mtt-badge{
  white-space:nowrap;
}
.page-bezirk .rankings-box{
  align-items:stretch;
}
.page-bezirk .ranking-card{
  height:100%;
}
.page-bezirk .ranking-number{
  width:28px;
  min-width:28px;
  height:28px;
  flex:0 0 28px;
  aspect-ratio:1 / 1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--dark);
  color:#fff;
  font-size:12px;
  line-height:1;
}
.page-bezirk .ranking-list li{
  align-items:center;
}

@media(max-width:640px){
  .page-bezirk .map-tooltip{
    width:calc(100vw - 24px);
    min-width:0;
  }
  .page-bezirk .karte-container--large{
    padding:14px 14px 12px;
  }
}

/* ── V4 KORREKTUREN: Legende und Footer ─────────────────────────────── */
.page-bezirk .farb-legende{
  width:100%;
  margin-top:16px;
  padding:14px 20px;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:12px 24px;
  background:var(--dark);
  border-radius:10px;
}
.page-bezirk .farb-legende .legende-item{
  color:#fff;
  justify-content:center;
  font-weight:500;
}
.page-bezirk .farb-legende .legende-farbe{
  border-color:rgba(255,255,255,.35);
}

.page-bezirk .bezirk-footer{
  background:var(--dark);
  border-top:0;
  color:#fff;
}
.page-bezirk .bezirk-footer .footer-inner{
  padding-top:46px;
  padding-bottom:46px;
  text-align:center;
}
.page-bezirk .bezirk-footer .footer-logo{
  filter:brightness(0) invert(1);
  opacity:.96;
}
.page-bezirk .bezirk-footer p{
  color:rgba(255,255,255,.78);
}
.page-bezirk .bezirk-footer strong{
  color:#fff;
}
.page-bezirk .bezirk-footer a{
  color:#fff;
  text-decoration:none;
  transition:color .2s, opacity .2s;
}
.page-bezirk .bezirk-footer a:hover{
  color:var(--green-light);
}
.page-bezirk .bezirk-footer p:last-child{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.16);
  color:#fff;
}

@media(max-width:600px){
  .page-bezirk .farb-legende{
    padding:14px;
    gap:10px 16px;
  }
  .page-bezirk .bezirk-footer .footer-inner{
    padding:36px 24px;
  }
}

/* ── V6: Karte mit deutlich weniger Beschnitt ────────────────────────── */
.page-bezirk .karte-container--large .interactive-map{
  overflow:hidden;
  border-radius:14px;
}
.page-bezirk .karte-container--large .interactive-map svg{
  width:100%;
  height:clamp(650px,65vw,860px);
  display:block;
}

@media(max-width:768px){
  .page-bezirk .karte-container--large .interactive-map svg{
    height:clamp(580px,95vw,720px);
  }
}

/* Rankingbilder: fester Ausschnitt mit echtem 50-%-Zoom */
.page-bezirk .ranking-list .ranking-thumb {
  position: relative !important;
  width: 112px !important;
  height: 76px !important;
  flex: 0 0 112px !important;
  overflow: hidden !important;
  border-radius: 7px;
}

.page-bezirk .ranking-list .ranking-thumb > img {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;

  width: 100% !important;
  height: 100% !important;
  max-width: none !important;

  object-fit: cover !important;
  object-position: center center !important;

  transform: translate(-50%, -50%) scale(2.4) !important;
  transform-origin: center center !important;
}

/* Zoom beim Hover beibehalten */
.page-bezirk .ranking-list .ranking-thumb:hover > img {
  transform: translate(-50%, -50%) scale(2.5) !important;
}

/* ══════════════════════════════════════════════════════════════════
   MOBIL-OPTIMIERUNGEN
   ══════════════════════════════════════════════════════════════════ */


/* Hero-Intro: Titel und Text nebeneinander, Trennstrich volle Höhe */
.page-bezirk .hero-intro-single{
  align-items:start !important;
  position:relative;
  grid-template-columns:360px 1fr;
}
.page-bezirk .hero-intro-single::after{
  content:"";
  position:absolute;
  left:calc(360px + 48px + 26px);
  top:44px;
  bottom:44px;
  width:1px;
  background:var(--line);
}
.page-bezirk .hero-intro-title{
  border-right:0;
  padding-right:0;
  align-self:start;
}
.page-bezirk .hero-text-block{
  margin-bottom:20px;
  padding:0px;
}
/* Überschrift-Struktur links */
.page-bezirk .hero-h1-above{
  font-size:clamp(28px,3vw,38px);
  font-weight:700;
  line-height:1.05;
  color:var(--dark);
  margin:6px 0 4px;
  display:flex;
  flex-direction:column;
}
.page-bezirk .hero-h1-year{
  font-size:clamp(48px,6vw,72px);
  font-weight:800;
  line-height:1;
  color:var(--dark);
  letter-spacing:-.03em;
}
.page-bezirk .hero-h1-sub{
  font-size:14px;
  font-weight:400;
  color:var(--muted);
  letter-spacing:.01em;
  margin-top:4px;
}
.page-bezirk .hero-h1-claim{
  font-size:19px;
  color:var(--grey);
  line-height:1.68;
  font-weight:400;
  margin-top:12px;
  max-width:320px;
}

/* Mobile: hero-text-block volle Breite, kein Grid */
@media(max-width:860px){
  .page-bezirk .hero-intro-single{
    grid-template-columns:1fr !important;
  }
  .page-bezirk .hero-intro-single::after{
    display:none;
  }
  .page-bezirk .hero-h1-claim{
    font-size:16px;
    max-width:100%;
  }
  .page-bezirk .hero-text-block{
    border-bottom:1px solid var(--line);
    padding-bottom:20px;
    margin-bottom:20px;
  }
}
.page-bezirk .hero-photo{
  height:auto !important;
  aspect-ratio:1448 / 915;
  max-height:85vh;
}
.page-bezirk .hero-photo .hero-photo-img{
  object-fit:cover !important;
  object-position:center center !important;
}

/* ── 1) HERO MOBIL ───────────────────────────────────────────────── */
@media(max-width:840px){

  /* Kein seitliches Padding – Bild volle Displaybreite */
  .page-bezirk .hero-photo-wrap{
    padding:0 !important;
    max-width:100% !important;
  }

  /* Bild: doppelte Höhe, nimmt ganzen Screen ein */
  .page-bezirk .hero-photo{
    aspect-ratio:1448 / 1830;
    max-height:none;
    width:100%;
    border-radius:0 !important;
  }
  .page-bezirk .hero-photo .hero-photo-img{
    object-fit:cover !important;
    object-position:center 25% !important;
  }

  /* Stats-Bar: kompakter, kleinere Schrift */
  .page-bezirk .hero-stats-bar{
    position:absolute;
    bottom:0;
    left:0; right:0;
  }
  .page-bezirk .hero-stats-inner--4{
    grid-template-columns:repeat(4,1fr) !important;
    padding:0 8px;
  }
  .page-bezirk .hero-stat{
    padding:8px 4px 6px !important;
  }
  .page-bezirk .hero-stat-value{
    font-size:11px !important;
    line-height:1.2 !important;
  }
  .page-bezirk .hero-stat-label{
    font-size:8px !important;
    letter-spacing:.02em !important;
  }
}

/* ── 2) KARTE MOBIL: Touch-scroll/zoom, keine Tooltips ──────────── */
@media(max-width:768px){
  /* Karte scrollbar/zoombar per Touch */
  .page-bezirk .karte-container--large{
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    cursor:grab;
  }
  .page-bezirk .karte-container--large .interactive-map{
    overflow:visible;
    min-width:600px; /* Karte breiter als Screen → scrollbar */
    touch-action:pan-x pan-y pinch-zoom;
  }
  /* Tooltips auf Mobile ausblenden */
  .page-bezirk .map-tooltip{
    display:none !important;
  }
}

/* ── 3) RANKING MOBIL: Overlay-Design ───────────────────────────────── */
@media(max-width:600px){

  /* Card: vertikal statt horizontal */
  .page-bezirk .ranking-card{
    flex-direction:column;
  }

  /* Kopfzeile: Icon + Titel nebeneinander */
  .page-bezirk .ranking-card-left{
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    padding:10px 14px;
    min-width:0;
    width:100%;
    box-sizing:border-box;
    overflow:visible;
  }
  .page-bezirk .ranking-card-icon{
    width:26px;
    height:26px;
    flex:0 0 26px;
  }
  .page-bezirk .ranking-card-icon i{
    font-size:18px;
  }
  .page-bezirk .ranking-card-left::after{
    content:attr(data-title);
    font-family:'Montserrat',sans-serif;
    font-size:13px;
    font-weight:700;
    color:var(--dark);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  /* Card-right: Padding, Titel+Hint ausblenden */
  .page-bezirk .ranking-card-right{
    padding:0 15px 15px;
  }
  .page-bezirk .ranking-card-title,
  .page-bezirk .ranking-hint{
    display:none;
  }

  /* Liste */
  .page-bezirk .ranking-list{
    gap:7px;
  }

  /* li: Nummer außen links, Thumb füllt Rest */
  .page-bezirk .ranking-list li{
    position:relative;
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    gap:8px;
    margin-bottom:0;
    height:120px;
  }

  /* Nummer außen, nicht im Bild */
  .page-bezirk .ranking-list .ranking-number{
    flex:0 0 28px;
    position:relative;
    z-index:2;
    width:28px;
    height:28px;
  }

  /* Thumbnail: füllt den Rest, ist selbst der Positioning-Context */
  .page-bezirk .ranking-list .ranking-thumb{
    position:relative !important;
    flex:1 1 auto !important;
    width:auto !important;
    height:120px !important;
    border-radius:8px !important;
    overflow:hidden !important;
  }
  .page-bezirk .ranking-list .ranking-thumb > img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  /* Dunkles Gradient-Overlay unten */
  .page-bezirk .ranking-list .ranking-thumb::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,
      rgba(0,0,0,.65) 0%,
      rgba(0,0,0,.3) 45%,
      transparent 75%);
    z-index:1;
  }
  /* Blur-Schicht unten */
  .page-bezirk .ranking-list .ranking-thumb::before{
    content:"";
    position:absolute;
    bottom:0; left:0; right:0;
    height:55%;
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
    z-index:1;
    mask-image:linear-gradient(to top, black 50%, transparent 100%);
    -webkit-mask-image:linear-gradient(to top, black 50%, transparent 100%);
  }

  /* Name + Preis: relativ zum li, nach der Nummer */
  .page-bezirk .ranking-item-name,
  .page-bezirk .ranking-item-price{
    position:absolute;
    z-index:3;
    left:46px;
    right:10px;
    padding:0;
    margin:0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    flex:none;
    line-height:1.3;
  }
  .page-bezirk .ranking-item-name{
    bottom:12px;
    color:#fff;
    font-size:13px;
    font-weight:600;
    text-shadow:0 1px 4px rgba(0,0,0,.7);
    right:auto;
    max-width:55%;
  }
  .page-bezirk .ranking-item-price{
    bottom:12px;
    font-size:12px;
    font-weight:700;
    text-shadow:0 1px 3px rgba(0,0,0,.5);
    left:auto;
    right:10px;
    text-align:right;
  }

  /* Preis-Farbe je Ranking-Typ */
  .page-bezirk .ranking-card--orange .ranking-item-price{ color:#ffb07a }
  .page-bezirk .ranking-card--blue   .ranking-item-price{ color:#a8dff7 }
  .page-bezirk .ranking-card--green  .ranking-item-price{ color:#cfe97a }
  .page-bezirk .ranking-card--yellow .ranking-item-price{ color:#ffe082 }
}

/* ── 4) TABELLE: Sticky Thead ────────────────────────────────────── */
.gemeinden-tabelle thead th{
  position:sticky;
  top:0;
  z-index:10;
  background:#fff;
  box-shadow:0 2px 0 var(--line);
}
/* Scrollbalken nur auf Mobile, Desktop ohne max-height */
@media(max-width:760px){
  .table-responsive{
    max-height:480px;
    overflow-y:auto;
  }
}



/* ── KARTE: nicht über Container hinausragen ─────────────────────── */
.page-bezirk .karte-container--large{
  overflow:hidden;
}
@media(max-width:768px){
  .page-bezirk .karte-container--large{
    overflow:auto;
    -webkit-overflow-scrolling:touch;
  }
}
/* ═══════════════════════════════════════════════════════════════════
   GEMEINDE-AUSWAHL KACHELN
   ═══════════════════════════════════════════════════════════════════ */

.section-gemeinden-auswahl {
  background: #f6f5f0 !important;
  border-top: 1px solid #e8e6df;
  border-bottom: 1px solid #e8e6df;
  padding: 64px 0 72px;
}

.gwa-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 40px;
  flex-wrap: wrap;
}

.gwa-title {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 700;
  color: var(--dark, #3a3a38);
  margin-bottom: 6px;
}

.gwa-sub {
  font-size: 14px;
  color: var(--muted, #888);
}

/* Suchfeld */
.gwa-search-wrap {
  position: relative;
  flex-shrink: 0;
}

.gwa-search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  color: var(--muted, #888);
  pointer-events: none;
}

.gwa-search {
  width: 260px;
  padding: 11px 16px 11px 42px;
  border: 1.5px solid var(--line, #e5e3db);
  border-radius: 8px;
  font-size: 14px;
  font-family: 'Source Sans 3', sans-serif;
  color: var(--dark, #3a3a38);
  background: #fff;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}

.gwa-search:focus {
  border-color: var(--green, #7fb029);
  box-shadow: 0 0 0 3px rgba(127, 176, 41, .15);
}

/* Grid */
.gwa-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
}

/* Kachel */
.gwa-card {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1.5px solid var(--line, #e5e3db);
  border-radius: 10px;
  padding: 14px;
  text-decoration: none;
  color: var(--dark, #3a3a38);
  transition: border-color .18s, box-shadow .18s, transform .18s;
  min-width: 0;
  overflow: hidden;
}

.gwa-card:hover {
  border-color: var(--green, #7fb029);
  box-shadow: 0 4px 18px rgba(127, 176, 41, .18);
  transform: translateY(-2px);
}

.gwa-card-wappen {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gwa-wappen-img {
  width: 36px;
  height: 36px;
  object-fit: contain;
}

.gwa-card-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.gwa-card-name {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--dark, #3a3a38);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Nachfrage-Badges */
.gwa-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  align-self: flex-start;
}

.gwa-badge--hoch      { background: #7fb029; color: #fff; }
.gwa-badge--sehr-hoch { background: #e85b20; color: #fff; }
.gwa-badge--mittel    { background: #fddc72; color: #5a4a00; }
.gwa-badge--niedrig   { background: #e8e6df; color: #666; }

/* Pfeil */
.gwa-card-arrow {
  font-size: 16px;
  color: #bbb;
  flex-shrink: 0;
  transition: color .18s, transform .18s;
}

.gwa-card:hover .gwa-card-arrow {
  color: var(--green, #7fb029);
  transform: translateX(3px);
}

/* Kein Ergebnis */
.gwa-no-results {
  text-align: center;
  padding: 40px;
  color: var(--muted, #888);
  font-size: 15px;
}

/* Responsive */
@media (max-width: 1100px) { .gwa-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px) {
  .section-gemeinden-auswahl { padding: 40px 0 48px; }
  .gwa-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .gwa-header { flex-direction: column; align-items: flex-start; }
  .gwa-search { width: 100%; }
  .gwa-search-wrap { width: 100%; }
}
@media (max-width: 420px) {
  .section-gemeinden-auswahl .container { padding-left: 16px !important; padding-right: 16px !important; }
  .gwa-grid { grid-template-columns: repeat(2, 1fr); gap: 6px; }
  .gwa-card { padding: 10px; gap: 8px; }
  .gwa-card-wappen, .gwa-wappen-img { width: 28px; height: 28px; }
  .gwa-card-name { font-size: 11px; }
  .gwa-badge { font-size: 9px; padding: 1px 5px; }
  .gwa-card-arrow { display: none; }
}

/* Nachfrage-Legende unter GWA-Subtitle */
.gwa-legend {
  font-size: 12px;
  color: var(--muted, #888);
  margin-top: 8px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  line-height: 1.8;
}

.gwa-legend-badge {
  display: inline-block;
  padding: 1px 7px;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  vertical-align: middle;
}

/* ═══════════════════════════════════════════════════════════════════
   NEUER BEZIRKS-FOOTER
   ═══════════════════════════════════════════════════════════════════ */

.bezirk-footer-new {
  background: #2d2d2a;
  color: rgba(255,255,255,.75);
  margin-top: 0;
  /* ── Silhouette-Hintergrundbild ── */
  background-image: url('/wohnmarkt/assets/footer-bg.jpg');
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100% auto;
}

/* Fallback: SVG-Silhouette falls footer-bg.jpg nicht vorhanden */
.bezirk-footer-new.no-bg {
  background-image: url('/wohnmarkt/assets/footer-silhouette.svg');
}

.bfn-main {
  padding: 64px 0 48px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.bfn-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.5fr;
  gap: 48px;
}

/* Brand-Spalte */
.bfn-logo {
  height: 40px;
  width: auto;
  margin-bottom: 20px;
  display: block;
  filter: brightness(0) invert(1);
}

.bfn-claim {
  font-size: 13px;
  line-height: 1.8;
  color: rgba(255,255,255,.6);
  margin-bottom: 24px;
}

.bfn-social {
  display: flex;
  gap: 10px;
}

.bfn-social-link {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.7);
  text-decoration: none;
  transition: border-color .2s, color .2s, background .2s;
}

.bfn-social-link:hover {
  border-color: var(--green, #7fb029);
  color: #fff;
  background: rgba(127,176,41,.15);
}

/* Spalten-Titel */
.bfn-col-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #fff;
  margin-bottom: 20px;
}

/* Link-Listen */
.bfn-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.bfn-links a {
  font-size: 14px;
  color: rgba(255,255,255,.65);
  text-decoration: none;
  transition: color .15s;
}

.bfn-links a:hover { color: #fff; }

/* Kontakt-Liste */
.bfn-contact {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.bfn-contact li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  color: rgba(255,255,255,.65);
  line-height: 1.6;
}

.bfn-contact li svg {
  flex-shrink: 0;
  margin-top: 2px;
  opacity: .7;
}

.bfn-contact a {
  color: rgba(255,255,255,.65);
  text-decoration: none;
  transition: color .15s;
}

.bfn-contact a:hover { color: #fff; }

/* Bottom Bar */
.bfn-bottom {
  padding: 18px 0;
  background: rgba(0,0,0,.2);
}

.bfn-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  font-size: 12px;
  color: rgba(255,255,255,.4);
  flex-wrap: wrap;
}

.bfn-bottom-links {
  display: flex;
  gap: 24px;
}

.bfn-bottom-links a {
  color: rgba(255,255,255,.4);
  text-decoration: none;
  transition: color .15s;
  font-size: 12px;
}

.bfn-bottom-links a:hover { color: rgba(255,255,255,.75); }

/* Responsive */
@media (max-width: 900px) {
  .bfn-grid {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }
  .bfn-col--brand { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .bfn-grid { grid-template-columns: 1fr; gap: 28px; }
  .bfn-main { padding: 40px 0 32px; }
  .bfn-bottom-inner { flex-direction: column; align-items: flex-start; gap: 12px; }
}
/* ═══════════════════════════════════════════════════════════════════
   TRUST-LEISTE
   ═══════════════════════════════════════════════════════════════════ */

.section-trust-leiste {
  background: #fff;
  padding: 40px 0;
  border-top: 1px solid #e8e6df;
  border-bottom: 1px solid #e8e6df;
}

.trust-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.trust-card {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  background: #fafaf7;
  border: 1px solid #e8e6df;
  border-radius: 12px;
  padding: 24px 22px;
}

.trust-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.trust-icon--green { background: #eaf3d6; color: #638f1f; }
.trust-icon--blue  { background: #dceef8; color: #2a7ab5; }
.trust-icon--yellow{ background: #fef3d6; color: #c98a00; }

.trust-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #3a3a38;
  margin-bottom: 6px;
  line-height: 1.3;
}

.trust-text {
  font-size: 13px;
  color: #7c7c78;
  line-height: 1.65;
  margin: 0;
}

@media (max-width: 760px) {
  .trust-grid { grid-template-columns: 1fr; gap: 12px; }
  .section-trust-leiste { padding: 28px 0; }
}
/* ── HAMBURGER & MOBILE NAV (bezirk) ── */
.nav-hamburger{display:none;background:none;border:none;cursor:pointer;color:#fff;font-size:26px;padding:4px;line-height:1;}
.mobile-nav{display:none;position:fixed;top:74px;left:0;right:0;background:#3a3a38;z-index:99;padding:16px 0 24px;box-shadow:0 8px 24px rgba(0,0,0,.3);max-height:calc(100vh - 74px);overflow-y:auto;}
.mobile-nav.open{display:block;}
.mobile-nav-inner{display:flex;flex-direction:column;}
.mobile-nav a,.mobile-nav .nav-dropdown-item{display:block;padding:13px 24px;color:rgba(255,255,255,.8);text-decoration:none;font-family:'Montserrat',sans-serif;font-size:14px;font-weight:500;border-bottom:1px solid rgba(255,255,255,.06);transition:background .15s,color .15s;}
.mobile-nav a:hover{background:rgba(255,255,255,.06);color:#fff;}
.mobile-nav-divider{padding:12px 24px 6px;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.35);}
@media(max-width:840px){.nav-hamburger{display:block;}.nav{display:none;}}

/* ── MOBILE HEADER FIX: verhindert abgeschnittenes Hamburger-Menü ── */
.logo{
  display:block;
  min-width:0;
}
.logo img{
  max-width:100%;
}
.nav-hamburger{
  flex:0 0 44px;
  width:44px;
  height:44px;
  padding:0;
  align-items:center;
  justify-content:center;
  overflow:visible;
  position:relative;
  z-index:2;
  -webkit-tap-highlight-color:transparent;
}
.nav-hamburger i{
  display:block;
  font-size:28px;
  line-height:1;
}
.mobile-nav{
  top:var(--mobile-nav-top,74px);
  max-height:calc(100vh - var(--mobile-nav-top,74px));
  max-height:calc(100dvh - var(--mobile-nav-top,74px));
  overscroll-behavior:contain;
}

@media(max-width:840px){
  .header-inner{
    padding:12px 16px;
    gap:10px;
    min-height:68px;
  }
  .nav-hamburger{
    display:inline-flex;
  }
  .header-inner > .logo{
    flex:1 1 auto;
  }
  .brand-group{
    flex:1 1 auto;
    min-width:0;
    flex-shrink:1;
    gap:10px;
  }
  .brand-group .logo{
    flex:1 1 150px;
    min-width:0;
  }
  .brand-group .logo img{
    width:150px;
    max-width:100%;
  }
  .brand-divider{
    flex:0 0 1px;
  }
  .logo-partner{
    flex:0 1 110px;
    min-width:0;
    width:auto;
    max-width:110px;
    height:auto;
    max-height:40px;
    object-fit:contain;
  }
}

@media(max-width:480px){
  .header-inner{
    padding-left:12px;
    padding-right:12px;
    gap:8px;
  }
  .nav-hamburger{
    flex-basis:42px;
    width:42px;
    height:42px;
  }
  .brand-group{
    gap:7px;
  }
  .brand-group .logo img,
  .header-inner > .logo img{
    width:120px;
  }
  .logo-partner{
    max-width:82px;
    max-height:32px;
  }
}


/* ── HEADER-AUSRICHTUNG V9: BEIDE LOGOS ALS GEMEINSAME LINKE GRUPPE ── */
.page-bezirk .header-inner{
  justify-content:flex-start;
}
.page-bezirk .brand-group{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex:0 0 auto;
  width:max-content;
  max-width:none;
  gap:16px;
}
.page-bezirk .brand-group .logo{
  display:block;
  flex:0 0 auto;
  width:auto;
  margin:0;
}
.page-bezirk .brand-group .logo img{
  display:block;
  width:210px;
  max-width:none;
  height:auto;
}
.page-bezirk .brand-divider{
  flex:0 0 1px;
  margin:0;
}
.page-bezirk .logo-partner{
  display:block;
  flex:0 0 auto;
  width:auto;
  max-width:none;
  height:52px;
  margin:0;
  object-fit:contain;
}
.page-bezirk .header-inner .nav,
.page-bezirk .header-inner .nav-hamburger{
  margin-left:auto;
}

@media(max-width:840px){
  .page-bezirk .brand-group{
    flex:0 1 auto;
    width:auto;
    max-width:calc(100% - 54px);
    min-width:0;
    gap:10px;
  }
  .page-bezirk .brand-group .logo{
    flex:0 1 auto;
    min-width:0;
  }
  .page-bezirk .brand-group .logo img{
    width:150px;
    max-width:100%;
  }
  .page-bezirk .logo-partner{
    flex:0 1 110px;
    width:auto;
    max-width:110px;
    height:auto;
    max-height:40px;
  }
}

@media(max-width:480px){
  .page-bezirk .brand-group{
    gap:7px;
  }
  .page-bezirk .brand-group .logo img{
    width:120px;
  }
  .page-bezirk .logo-partner{
    flex-basis:82px;
    width:82px;
    max-width:82px;
    max-height:32px;
  }
}
