/* ============================================================
   Angebote — Objektliste
   ============================================================ */
.i{ fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }

.angsec{ background:var(--cream); }

/* ---- Filter ---- */
.angfilter{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:42px; }
.angchip{
  font-family:inherit; font-weight:700; font-size:14.5px; color:var(--navy);
  background:#fff; border:1px solid var(--line); border-radius:var(--r-pill);
  padding:11px 20px; cursor:pointer; transition:all .18s ease; letter-spacing:-.01em;
}
.angchip:hover{ border-color:var(--gold-200); color:var(--gold-600); }
.angchip.is-active{ background:var(--navy-900); color:#fff; border-color:transparent; box-shadow:var(--shadow-sm); }

/* ---- Grid ---- */
.ang__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:40px; }
.angcard{
  display:flex; flex-direction:column; background:#fff;
  border:1px solid var(--line-soft); border-radius:var(--r-lg); overflow:hidden;
  box-shadow:var(--shadow-sm); transition:transform .2s ease, box-shadow .2s ease;
}
.angcard:hover{ transform:translateY(-5px); box-shadow:var(--shadow); }
.angcard.is-hidden{ display:none; }

.angcard__media{ position:relative; aspect-ratio:4/3; background:var(--green-100); }
.angcard__media image-slot{ display:block; width:100%; height:100%; }
.angcard__badge{
  position:absolute; top:14px; left:14px; z-index:2;
  display:inline-flex; align-items:center; gap:7px;
  border-radius:var(--r-pill); padding:7px 14px;
  font-family:var(--font-display); font-weight:800; font-size:12px; letter-spacing:.04em;
  box-shadow:var(--shadow); color:#1a1407; background:var(--gold);
}
.angcard__badge svg{ width:14px; height:14px; }
.angcard__badge--reserviert{ background:var(--navy-900); color:#fff; }
.angcard__badge--reserviert svg{ color:var(--gold-200); }
.angcard__badge--verkauft{ background:#e7e2da; color:var(--muted); }
.angcard__badge--verkauft svg{ color:var(--muted); }
.angcard__type{
  position:absolute; top:14px; right:14px; z-index:2;
  background:rgba(255,255,255,.92); color:var(--navy); backdrop-filter:blur(4px);
  border-radius:var(--r-pill); padding:6px 13px; font-weight:800; font-size:11.5px; letter-spacing:.02em;
}

.angcard__body{ padding:22px 24px 24px; display:flex; flex-direction:column; flex:1; }
.angcard__loc{ display:inline-flex; align-items:center; gap:7px; color:var(--gold-600); font-weight:800; font-size:12.5px; letter-spacing:.02em; text-transform:uppercase; }
.angcard__loc svg{ width:15px; height:15px; }
.angcard h3{ font-family:var(--font-display); font-weight:800; font-size:21px; letter-spacing:-.01em; color:var(--navy); margin-top:8px; line-height:1.2; }
.angcard__desc{ color:var(--body); font-size:14.5px; line-height:1.55; margin-top:10px; }

.angcard__specs{ list-style:none; padding:0; margin:18px 0 0; display:flex; flex-wrap:wrap; gap:8px; }
.angcard__specs li{ display:inline-flex; align-items:center; gap:7px; background:var(--cream); border:1px solid var(--line-soft); border-radius:var(--r); padding:7px 11px; font-weight:700; font-size:13px; color:var(--navy); }
.angcard__specs svg{ width:15px; height:15px; color:var(--gold); flex:none; }

.angcard__foot{ margin-top:auto; padding-top:20px; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.angcard__price b{ font-family:var(--font-display); font-weight:800; font-size:21px; color:var(--navy); display:block; white-space:nowrap; }
.angcard__price span{ color:var(--muted); font-weight:700; font-size:11.5px; letter-spacing:.02em; text-transform:uppercase; }
.angcard__btn{
  display:inline-flex; align-items:center; gap:8px; flex:none;
  background:var(--navy-900); color:#fff; border-radius:var(--r-pill);
  padding:11px 18px; font-weight:800; font-size:14px; text-decoration:none;
  transition:background .18s ease, transform .18s ease;
}
.angcard__btn:hover{ background:var(--navy-700, #123a56); transform:translateX(2px); }
.angcard__btn svg{ width:16px; height:16px; color:var(--gold-200); }

/* ---- Suchauftrag CTA card ---- */
.ang-cta{ background:#fff; }
.ang-cta__inner{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:28px;
  background:var(--navy-900); color:#fff; border-radius:var(--r-lg);
  padding:clamp(30px,4vw,50px); position:relative; overflow:hidden;
}
.ang-cta__inner::before{ content:""; position:absolute; inset:0; background:radial-gradient(60% 80% at 100% 0%, rgba(200,145,31,.20), transparent 58%); }
.ang-cta__inner > *{ position:relative; }
.ang-cta__t h2{ color:#fff; font-size:clamp(24px,2.6vw,32px); }
.ang-cta__t p{ color:#bcd2dd; font-size:16.5px; margin-top:10px; max-width:46ch; }
.ang-cta__actions{ display:flex; flex-wrap:wrap; gap:14px; }

@media (max-width:980px){ .ang__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .ang__grid{ grid-template-columns:1fr; max-width:460px; margin-inline:auto; } }
