/* Apartment-Einblicke: bestehende Farben, Typografie und Navigation. */
.apartment-intro { padding: 56px 0 64px; background: var(--bg-alt); }
.apartment-intro-grid { display: grid; grid-template-columns: 1fr 0.9fr; gap: 64px; align-items: center; }
.apartment-intro-text > p { margin-top: 20px; }
.apartment-intro-text .eyebrow { margin-top: 32px; }
.apartment-back, .apartment-text-link { color: var(--blue-700); font-weight: 700; display: inline-flex; align-items: center; min-height: 44px; }
.apartment-back { font-size: var(--text-sm); }
.apartment-back:hover, .apartment-text-link:hover { text-decoration: underline; }
.apartment-actions { display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; margin-top: 28px; }
.apartment-actions .btn, .apartment-inquiry .btn { white-space: normal; text-align: center; }
.apartment-feature img { width: 100%; height: auto; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.apartment-feature figcaption { margin-top: 12px; font-size: var(--text-sm); color: var(--muted); }
.apartment-gallery { padding: 80px 0; }
.apartment-gallery-head { max-width: 680px; margin-bottom: 36px; }
.apartment-gallery-head > p:last-child { margin-top: 16px; }
.apartment-photo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.apartment-photo-grid img { width: 100%; height: auto; border-radius: var(--radius-lg); }
.apartment-photo-link { display: block; border-radius: var(--radius-lg); }
.apartment-photo-grid figcaption { padding: 20px 0 0; }
.apartment-photo-grid figcaption p { margin-top: 10px; }
.apartment-inquiry { padding: 0 0 80px; }
.apartment-inquiry-box { background: var(--blue-softer); border: 1px solid var(--blue-soft); border-radius: var(--radius-lg); padding: 40px; display: flex; align-items: center; gap: 40px; }
.apartment-inquiry-box > div { flex: 1; }
.apartment-inquiry-box p:last-child { margin-top: 16px; }
.apartment-inquiry-box > .btn { flex-shrink: 0; max-width: 100%; }
@media (max-width: 900px) {
  .apartment-intro-grid { gap: 32px; }
  .apartment-inquiry-box { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
  .apartment-intro { padding: 32px 0 40px; }
  .apartment-intro-grid, .apartment-photo-grid { grid-template-columns: 1fr; }
  .apartment-gallery { padding: 48px 0; }
  .apartment-photo-grid { gap: 32px; }
  .apartment-inquiry { padding-bottom: 48px; }
  .apartment-inquiry-box { padding: 24px; gap: 24px; }
}
