:root {
  --color-bg: #f7f5ef;
  --color-bg-soft: #ecebe4;
  --color-text: #242522;
  --color-text-secondary: #64655f;
  --color-blue: #526b47;
  --color-blue-hover: #3f5938;
  --color-blue-soft: #e1e7dc;
  --color-border: #d9d8cf;
  --color-border-blue: rgba(82, 107, 71, .42);
}

body { background: var(--color-bg); color: var(--color-text); }
.header, .property-card, .access-dialog { background: var(--color-bg); }
.contact-bar, .section--soft, .footer { background: var(--color-bg-soft); }
.hero { background: #242522; }
/* Das Hero-Bild wird dynamisch per Inline-Style aus dem CMS gesetzt. */
.button--primary, .button-primary, .access-button, .nav-cta { background: var(--color-blue); color: #fff; }
.button--primary:hover, .button-primary:hover, .access-button:hover, .nav-cta:hover { background: var(--color-blue-hover); }
.private-access { background: var(--color-text); }
.category-teaser:hover { border-color: var(--color-blue); }
.eyebrow, a { color: var(--color-blue); }
a:hover { color: var(--color-blue-hover); }
.access-dialog__close { color: var(--color-text-secondary); }
.access-dialog__close:hover { color: var(--color-text); }
input, textarea, select { background: #fbfaf6; border-color: var(--color-border); color: var(--color-text); }
input:focus, textarea:focus, select:focus { border-color: var(--color-blue); box-shadow: 0 0 0 3px rgba(82,107,71,.13); }
.footer { border-top-color: var(--color-border); }
.footer a { color: var(--color-text-secondary); }

/* Objektseite */
.objects-hero {
  position: relative;
  overflow: hidden;
  background: #242522;
  color: #f7f5ef;
}
.objects-hero::after {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 85% 10%, rgba(113, 142, 94, .32), transparent 38%);
  content: '';
  pointer-events: none;
}
.objects-hero .container { position: relative; z-index: 1; }
.objects-hero .eyebrow { color: #cbd9c2; }
.objects-hero > .container > p:last-child { color: #d9dbd3; }
.objects-section { background: var(--color-bg); }
.objects-group { border-top-color: var(--color-border); }
.objects-group > header > span { color: var(--color-blue); }
.objects-group h2 { color: var(--color-text); }
.objects-group header > p { color: var(--color-text-secondary); }
.objects-section .property-grid { gap: 24px; }
.objects-section .property-card {
  border-color: var(--color-border);
  background: #fbfaf6;
  box-shadow: 0 12px 30px rgba(36, 37, 34, .06);
}
.objects-section .property-card:hover {
  border-color: var(--color-blue);
  box-shadow: 0 18px 38px rgba(36, 37, 34, .13);
}
.objects-section .property-card img { filter: saturate(.9) contrast(1.03); }
.objects-section .property-card__body { padding: 27px; }
.objects-section .property-card__meta { border-top-color: var(--color-border); color: var(--color-text-secondary); }
