/* Home-Grid */
.object-grid-section{padding:44px 0 52px;background:var(--bg)}
.object-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:28px;grid-auto-rows:1fr}
@media(min-width:680px){.object-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.object-grid{grid-template-columns:repeat(3,1fr);gap:24px}}
.object-tile{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .15s ease,box-shadow .2s ease;height:100%;display:flex;flex-direction:column}
.object-tile:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(26,43,66,.1)}
.object-tile-link{display:flex;flex-direction:column;flex:1;color:inherit;text-decoration:none}
.object-tile-image{position:relative;aspect-ratio:16/9;overflow:hidden}
.object-tile-image img{width:100%;height:100%;object-fit:cover;display:block}
.object-tile-badge{position:absolute;top:12px;font-size:11px;font-weight:600;padding:4px 10px;border-radius:999px;color:#fff;letter-spacing:.04em;backdrop-filter:saturate(140%)}
.object-tile-badge.obj-badge--rent{top:12px;right:12px;background:var(--success,#2a7c5a)}
.object-tile-badge.obj-badge--plus{top:auto;bottom:12px;left:12px;background:var(--accent)}
.object-tile-body{padding:20px;display:flex;flex-direction:column;flex:1}
.object-tile-bauträger{font-size:11px;color:var(--text-mid);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.object-tile-title{margin:0 0 4px;font-size:20px;line-height:1.25;color:var(--text)}
.object-tile-loc{font-size:13px;color:var(--text-mid);margin-bottom:14px}
.object-tile-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.object-tile-fact-val{display:block;font-weight:600;color:var(--text);font-size:15px}
.object-tile-fact-lbl{display:block;font-size:11px;color:var(--text-mid);text-transform:uppercase;letter-spacing:.04em}
.object-tile-bullets{margin:0 0 16px;padding:0;list-style:none;font-size:13px;color:var(--text);flex:1}
.object-tile-bullets li{padding-left:18px;position:relative;margin-bottom:4px}
.object-tile-bullets li::before{content:"✓";position:absolute;left:0;color:var(--success,#2a7c5a);font-weight:700}
.object-tile-cta{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-weight:600;font-size:14px;margin-top:auto}
.object-tile-cta svg{width:16px;height:16px}

/* Warum-BTW — 2x2 Grid auf Desktop für breitere Cards */
.warum-btw{padding:44px 0 52px;background:var(--card-bg)}
.warum-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:28px;max-width:1000px;margin-left:auto;margin-right:auto}
@media(min-width:680px){.warum-grid{grid-template-columns:1fr 1fr;gap:20px}}
.warum-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:28px}
.warum-card h3{margin:0 0 10px;font-size:18px;color:var(--text)}
.warum-card p{margin:0;font-size:14.5px;line-height:1.6;color:var(--text-mid)}

/* Home-Map */
.home-map-section{padding:44px 0 52px;background:var(--bg)}

/* Breadcrumb */
.breadcrumb{background:var(--card-bg);border-bottom:1px solid var(--border);padding:10px 0}
.breadcrumb ol{margin:0;padding:0;list-style:none;display:flex;gap:10px;font-size:13px;color:var(--text-mid)}
.breadcrumb li:not(:last-child)::after{content:"›";margin-left:10px;color:var(--text-mid)}
.breadcrumb a{color:var(--accent);text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}

/* FAQ — breiter auf Desktop */
.faq-section{padding:44px 0 52px;background:var(--bg)}
.faq-list{max-width:1080px;margin:24px auto 0}
.faq-item{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;padding:0}
.faq-item[open]{border-color:var(--accent)}
.faq-item summary{list-style:none;cursor:pointer;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;font-weight:600;color:var(--text)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-chevron{width:18px;height:18px;transition:transform .2s ease}
.faq-item[open] .faq-chevron{transform:rotate(180deg)}
.faq-body{padding:0 22px 18px;font-size:14.5px;line-height:1.65;color:var(--text-mid)}

/* Bauträger */
.bauträger-section{padding:44px 0 52px;background:var(--card-bg)}
.bauträger-grid{display:grid;grid-template-columns:1fr;gap:28px;margin-top:28px}
/* "Bereits realisiert" wird auf allen Breiten unter dem Bauträger-Profil angezeigt */
.bauträger-refs{margin-top:8px}
.bauträger-logo{height:64px;width:auto;margin-bottom:12px}
.bauträger-claim{font-size:18px;color:var(--text);font-weight:500;margin:0 0 16px}
.bauträger-facts{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:16px;font-size:14px;color:var(--text-mid)}
.bauträger-desc{font-size:14px;line-height:1.6;color:var(--text-mid);margin-bottom:14px}
.bauträger-link{font-size:14px;color:var(--accent);text-decoration:none}
.bauträger-refs h4{margin:0 0 12px;font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-mid)}
.bauträger-refs-grid{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:4px 2px 12px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.bauträger-refs-grid::-webkit-scrollbar{height:6px}
.bauträger-refs-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
.bauträger-ref{
  flex:0 0 180px;
  scroll-snap-align:start;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--radius-xs);
  overflow:hidden;
}
.bauträger-ref img{width:100%;display:block;height:110px;object-fit:cover}
.bauträger-ref-body{padding:8px 12px;font-size:12px}
.bauträger-ref-body strong{display:block;color:var(--text);font-size:13px;line-height:1.25;margin-bottom:2px}
.bauträger-ref-body span{display:block;color:var(--text-mid);font-size:11px}

/* ===== Local extensions for two-concept section (adapted from Ingolstadt-LP) ===== */
.concept-compare-section{padding:48px 0;background:var(--bg)}
.concept-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:28px}
@media(min-width:880px){.concept-grid{grid-template-columns:1fr 1fr;gap:24px}}
.concept-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:14px;position:relative;transition:border-color .2s ease,box-shadow .2s ease}
.concept-card:hover{border-color:var(--accent);box-shadow:0 6px 24px rgba(26,43,66,.08)}
.concept-badge{display:inline-block;background:var(--accent);color:#fff;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;width:max-content}
.concept-card--plus .concept-badge{background:var(--success,#2a7c5a)}
.concept-card h3{margin:0;font-size:22px;line-height:1.25;color:var(--text)}
.concept-card .concept-address{color:var(--text-mid);font-size:14px;font-style:normal;margin:0}
.concept-mini{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.concept-mini .detail-fact-card{padding:14px 10px}
.concept-mini .detail-fc-val{font-size:16px}
.concept-mini .detail-fc-lbl{font-size:11px}
.concept-bullets{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.concept-bullets li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--text)}
.concept-bullets li svg{flex-shrink:0;width:18px;height:18px;color:var(--success);margin-top:1px}
.concept-cta{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;border:0;padding:13px 18px;border-radius:var(--radius-xs);font-weight:600;font-size:15px;cursor:pointer;transition:transform .15s ease,background .2s ease}
.concept-cta svg{width:18px;height:18px}
.concept-cta:hover{background:#132238;transform:translateY(-1px)}
.concept-card--plus .concept-cta{background:var(--success,#2a7c5a)}
.concept-card--plus .concept-cta:hover{background:#215e46}

/* Safety net: any SVG without explicit size in detail-page sections should stay small */
.detail-highlight-item svg,
.beratung-point svg,
.faq-item svg {
  flex-shrink: 0;
}

/* ============================================================
   UI-Verbesserungen Runde 2 (Punkte 4, 6, 7, 10, 11, 15)
   ============================================================ */

/* Punkt 4: Home-Hero Kennzahlen — Labels nicht umbrechen */
.home-hero .city-hero-facts{gap:36px;flex-wrap:wrap}
.home-hero .city-fact{min-width:120px}
.home-hero .city-fact-lbl{font-size:11px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}

/* Punkt 6: Ausstattung als 2x3-Grid auf Desktop */
@media(min-width:760px){
  #ausstattung .detail-highlights{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:14px !important;
  }
}
#ausstattung .detail-highlight-item{font-size:14.5px;padding:4px 0}
#ausstattung .detail-highlight-item svg{width:22px;height:22px}

/* Punkt 7: Grundrisse-Card prominenter (mehr Padding, eigener Container) */
.detail-floorplan-section{padding:44px 0 52px}
.detail-floorplan-placeholder{
  max-width:720px;
  margin:28px auto 0;
  padding:40px 32px !important;
  text-align:center;
  background:var(--card-bg);
  border:1px solid var(--border);
  border-radius:var(--radius);
}
.detail-floorplan-placeholder svg{width:56px !important;height:56px !important;color:var(--accent);margin-bottom:12px}
.detail-floorplan-placeholder h3{margin:0 0 8px;font-size:20px}
.detail-floorplan-placeholder p{font-size:14.5px;color:var(--text-mid);max-width:520px;margin:0 auto 20px}

/* Punkt 10: Hero-Overlay stärker für bessere Text-Lesbarkeit */
.city-hero-overlay{
  background:linear-gradient(to right, rgba(15,26,43,.85) 0%, rgba(15,26,43,.65) 50%, rgba(15,26,43,.45) 100%);
}
@media(max-width:768px){
  .city-hero-overlay{
    background:linear-gradient(to bottom, rgba(15,26,43,.55) 0%, rgba(15,26,43,.75) 100%);
  }
}

/* Punkt 11: Stadt-zurück-Link ("Alle Objekte") */
.back-to-home{
  position:relative;
  background:var(--card-bg);
  padding:12px 0;
  border-bottom:1px solid var(--border);
}
.back-to-home .section-inner{display:flex;align-items:center}
.back-to-home a{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--accent);text-decoration:none;
  font-size:13.5px;font-weight:500;
  padding:4px 0;
}
.back-to-home a:hover{text-decoration:underline}
.back-to-home svg{width:16px;height:16px;flex-shrink:0}

/* Punkt 15: H1-Font-Size Mobile reduzieren für bessere Lesbarkeit */
@media(max-width:480px){
  .city-hero-title{font-size:36px !important;line-height:1.08 !important}
  .city-hero-location{font-size:14px}
  .city-hero-facts{gap:16px}
  .city-fact-val{font-size:20px}
}
@media(max-width:390px){
  .city-hero-title{font-size:32px !important}
}

/* Sektion-Padding global entspannt */
.detail-description, .detail-facts-section, .detail-map-section,
.concept-compare-section, .bauträger-section, .beratung{padding-top:44px;padding-bottom:52px}
