/* Einheitliche, abgerundete Formelemente */
input, select, textarea {
  width: 100%;
  background: #0b0e12;
  color: #e5e7eb;
  border: 1px solid #27313a;
  border-radius: 12px;
  padding: 12px 12px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
input:focus, select:focus, textarea:focus {
  border-color: #36424f;
  box-shadow: 0 0 0 3px rgba(94, 234, 212, 0.12);
}
label { font-size: 14px; color: #c7cfd9; display:block; margin-bottom:6px }

/* Buttons (ergänzend) */
.btn { display:inline-block; padding:10px 14px; border-radius:12px; border:1px solid #2a333d; cursor:pointer }
.btn.primary { background: linear-gradient(135deg,#5eead4,#a78bfa); color:#0b0c0e; border-color:transparent; font-weight:600 }
.btn:hover { transform: translateY(-1px) }
.btn:active { transform: translateY(0) }

/* Grid Hilfen */
.row-2 { display:grid; grid-template-columns:1fr 1fr; gap:12px }
@media (max-width:700px){ .row-2{ grid-template-columns:1fr } }

/* Modal */
.offer-backdrop {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.6);
  display: none; place-items: center;
  z-index: 1000;
}
.offer-backdrop.active { display: grid }
.offer-modal {
  width: min(680px, 92vw);
  background: #0e1116;
  border: 1px solid #222932;
  border-radius: 18px;
  box-shadow: 0 8px 30px rgba(0,0,0,.25);
  overflow: hidden;
}
.offer-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px; border-bottom:1px solid #1c222a;
  background: linear-gradient(180deg,#11151b,#0e1217);
}
.offer-head h3 { margin:0; font-size:18px }
.offer-content { padding:16px }
.offer-close { border-color:#2a333d; background:#0c0f13; color:#e5e7eb }
.offer-close:hover { border-color:#3a4654 }