:root{ --text:#111; --muted:#6c757d; }
*{ box-sizing:border-box; }
body{ color:var(--text); background:#fff; font-feature-settings:"liga" 1,"kern" 1; }
a{ text-decoration:none; }
.brand{ font-weight:800; letter-spacing:.02em; }
h1{ font-size:clamp(2.2rem,5vw,3.5rem); }
.lead{ color:var(--muted); }
.card{ border:0; border-radius:1rem; box-shadow:0 8px 30px rgba(0,0,0,.06); }
.card img{ border-top-left-radius:1rem; border-top-right-radius:1rem; }
footer{ color:#777; }
.chip{ border:1px solid #e5e5e5; border-radius:1rem; padding:.35rem .75rem; }
.grid-gap{ row-gap:1.25rem; }
.hero h1{ font-size:clamp(2.2rem,6vw,4.5rem); line-height:1.02; margin-bottom:.75rem; }
.hero p{ color:var(--muted); max-width:56ch; }
.filter-pill{ cursor:pointer; }
.object-fit-cover{ object-fit:cover; }
.section-title{ font-weight:700; letter-spacing:.01em; }
.muted{ color:var(--muted); }
.navbar .nav-link.active{ font-weight:600; }

/* 'Te koop' badge */
.sale-badge{
  position:absolute;
  top:.75rem; left:.75rem;
  background:#111; color:#fff;
  font-size:.75rem; font-weight:700;
  padding:.35rem .6rem;
  border-radius:.5rem;
  letter-spacing:.02em;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
}
