:root{--blue:#073B5A;--border:#e5e7eb}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#fff;color:#111}
.header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:#fff}
.brand{font-weight:700;text-decoration:none;color:#111}
.container{padding:1rem}
.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:1rem;margin:1rem 0}
.btn{display:inline-block;background:#111;color:#fff;border:0;border-radius:999px;padding:.6rem 1rem;text-decoration:none}
.btn.link{background:transparent;color:#111;border:1px solid var(--border)}
.small{color:#6b7280}
.grid{display:grid;gap:1rem}
.grid-2{grid-template-columns:repeat(2,1fr)}
.stampgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;justify-items:center}
.stamp{width:52px;height:52px;border:2px dashed #cbd5e1;border-radius:12px;color:#64748b;display:flex;align-items:center;justify-content:center;font-weight:700}
.stamp.is-full{background:var(--blue);color:#fff;border-color:transparent}
.offer{display:flex;gap:.8rem;align-items:center}
.offer img{width:84px;height:84px;object-fit:cover;border-radius:12px;border:1px solid var(--border)}
.alert{padding:.7rem 1rem;border-radius:10px;margin:.6rem 0}
.alert.err{background:#fff1f2;color:#7f1d1d;border:1px solid #fecaca}
.alert.ok{background:#f0fdf4;color:#14532d;border:1px solid #bbf7d0}

/* --- Stempelbild für gefüllte Felder --- */
.stamp{ position:relative; overflow:hidden; }
.stamp.is-full{ border-color:transparent; background:#fff; }
.stamp.is-full::before{
  content:"";
  position:absolute; inset:3px;
  background: url('/assets/stempel_frei.png') center / contain no-repeat;
  opacity:1;
  border-radius:10px;
}
