/* ============ OBJEKT-DETAIL-SEITEN (immobilien) ============ */

.detail-hero {
  position: relative;
  margin-top: 28px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: var(--shadow-md);
  background: #1a2433;
  min-height: 420px;
}
/* Das Foto bleibt unangetastet — kein `brightness`-Filter, kein Verlauf darüber. Beides gab
   es hier bis 2026-08-09 und nahm dem Motiv die Farbe. Lesbar wird der Text durch den dunklen
   Kasten in der Mitte, genauso wie bei den Seitenköpfen (`.page-hero-box`). */
.detail-hero .detail-hero-img {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center;
}
/* Drei Zonen: oben Vermerk und Ort, in der Mitte Überschrift und Kurztext, unten der Preis.
   Die Mitte nimmt den Rest der Höhe und zentriert darin — dadurch sitzt sie optisch mittig,
   unabhängig davon, wie hoch die Zeilen darüber und darunter ausfallen. Vorher stand alles
   mit `justify-content: flex-end` gestapelt am unteren Rand. */
.detail-hero .detail-hero-content {
  position: relative;
  padding: 30px 30px 28px 30px;
  display: flex;
  flex-direction: column;
  min-height: 420px;
  color: #fff;
}
.detail-hero .detail-hero-mitte {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 14px 0;
}
/* Textkasten wie im Seitenkopf: dunkel, halbdurchsichtig, mittig — dieselben Werte wie
   `.page-hero-box`, damit Detailseite und Unterseiten gleich aussehen. */
.detail-hero .detail-hero-kasten {
  background: rgba(0,0,0,.5);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  border-radius: 16px;
  padding: 26px 34px;
  max-width: 820px;
  text-align: center;
}
.detail-hero .detail-hero-unten { display: flex; }
.detail-hero .detail-tag-row {
  display: flex; gap: 10px; flex-wrap: wrap;
}
.detail-hero .detail-tag {
  background: var(--accent);
  color: #fff;
  padding: 4px 12px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;
}
.detail-hero .detail-tag.tag-loc {
  background: rgba(255,255,255,.18);
  backdrop-filter: blur(6px);
  font-weight: 500;
  letter-spacing: .5px;
}
.detail-hero h1 {
  font-size: clamp(28px, 4vw, 42px);
  margin: 0 0 10px 0;
  color: #fff;
  line-height: 1.15;
}
.detail-hero .detail-sub {
  color: rgba(255,255,255,.88);
  font-size: 16px;
  margin: 0;
}
.detail-hero .detail-price-pill {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  background: rgba(255,255,255,.95);
  color: #0f172a;
  padding: 12px 22px;
  border-radius: 50px;
  font-size: 22px;
  font-weight: 700;
  align-self: flex-start;
}
.detail-hero .detail-price-pill .price-sub {
  font-size: 12px;
  font-weight: 500;
  color: var(--muted);
}

/* Eckdaten-Grid */

/* Highlights-Liste */

/* Galerie-Grid + Overlay-Styles liegen jetzt in css/gallery.css */

/* CTA-Zeile + Backlink */
.detail-cta {
  margin-top: 25px;
  background: var(--bg-alt);
  border-radius: 14px;
  padding: 28px 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px;
}
.detail-cta .cta-text h3 {
  margin: 0 0 4px 0;
  font-size: 20px;
}
.detail-cta .cta-text p {
  margin: 0;
  color: var(--muted);
  font-size: 14.5px;
}
.detail-cta .cta-actions {
  display: flex; gap: 10px; flex-wrap: wrap;
}

.backlink-row {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid #e5e7eb;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
/* Der Zurück-Knopf steht auf der Detailseite ZWEIMAL: oben unter der Pfadzeile und unten
   in der `.backlink-row`. Beide sind der klassische blaue Knopf (`btn btn-primary`) — Farbe,
   Rundung und Innenabstand kommen aus css/style.css, hier steht nur die Pfeilgrösse.
   Sie gehört an `.backlink` selbst und nicht an die Zeile: hingen sie an der Zeile, bekäme
   der obere Knopf keine Symbolgrösse, und ein `svg` ohne Breite füllt seinen Kasten aus —
   der Pfeil war dadurch einmal bildschirmhoch. */
.backlink svg { width: 16px; height: 16px; flex-shrink: 0; }
/* Oben linksbündig in seiner Zeile, nicht mittig: er beginnt dort, wo auch die Pfadzeile
   darüber beginnt, und die Zeile bleibt ruhig. */
.objekt-back-oben { display: flex; justify-content: flex-start; margin: 4px 0 22px; }
.objekt-back-unten { margin-top: 8px; }
.backlink-row .obj-ref {
  font-size: 13px;
  color: var(--muted);
}

@media (max-width: 640px) {
  .detail-hero { min-height: 320px; }
  .detail-hero .detail-hero-content { min-height: 320px; padding: 24px 18px 20px 18px; }
  .detail-cta { flex-direction: column; align-items: stretch; }
}

/* ============ GALERIE-GRID + OVERLAY ============ */

/* Galerie-Thumbnails (klickbare Kacheln) */
/* Die eigene Lichtkasten-Galerie ist mit dem Wechsel auf Fancybox entfallen
   (2026-08-08). Zwei Lichtkästen nebeneinander wären ein Doppelstrang; die
   Mechanik steht jetzt in system/lib/fancybox/ + scripts/fancybox-galerie.js. */

/* ============ FLEX-LAYOUT: BESCHREIBUNG + FAKTEN ============ */

/* ============ NEUE BLOCK-BOXEN (Objekt-Template v2) ============ */

.block-box {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 24px 28px;
  box-shadow: var(--shadow-xs);
  height: 100%;
}
.block-box h3.block-title {
  font-size: 18px;
  margin: 0 0 12px 0;
  font-weight: 600;
}
.block-box p {
  color: #334155;
  font-size: 15.5px;
  line-height: 1.7;
  margin: 0 0 12px 0;
}
.block-box p:last-child { margin-bottom: 0; }

/* 50/50 Grid für Block-Boxen */
.objekt-grid-halves {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: stretch;
}

/* Objektdaten-Tabelle */

/* Check-Liste */

@media (max-width: 768px) {
  .objekt-grid-halves {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .block-box {
    padding: 18px 20px;
  }
}

/* ============ OBJEKT-DETAIL: Headlines + Abstände schmaler ============ */

.objekt-page section {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}

.objekt-page .container > .section-head {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 28px;
  padding-left: 28px;
}

.objekt-page .section-head .eyebrow {
  font-size: 11px;
  margin-bottom: 6px;
}

.objekt-page .section-head h2 {
  font-size: clamp(20px, 2.4vw, 26px);
  margin-bottom: 0;
}
