:root{
  --bg:#0b1220;
  --gold:#c9a86a;
  --gold2:#d8bf84;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;
  color:#e9eef7;
  background:#0b1220;
  min-height:100vh;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}


body::after{
  content:"";
  position:fixed; inset:0;
  background:radial-gradient(circle at 60% 30%, rgba(201,168,106,.18), rgba(0,0,0,.55) 70%);
  z-index:-1;
}
.center-box{
  width:min(820px, 92vw);
  max-height:calc(100vh - 48px);
  overflow:auto;

  background:rgba(15,25,45,0.93);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:20px;
  backdrop-filter:blur(20px);
  box-shadow:0 25px 50px rgba(0,0,0,0.55);

  padding:34px 44px 34px;
  text-align:center;

  /* raus mit absolute center */
  position:relative;
  top:auto; left:auto; transform:none;
}

.center-box::-webkit-scrollbar{width:10px}
.center-box::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}
.center-box::-webkit-scrollbar-thumb{background:rgba(201,168,106,.35);border-radius:999px}
.center-box::-webkit-scrollbar-thumb:hover{background:rgba(201,168,106,.55)}


@media (max-height: 820px){
  .center-box{padding:26px 30px 26px}
  .form-grid{row-gap:14px}
}
@media (max-width: 900px){
  .form-grid{grid-template-columns:1fr}
  .full{grid-column:span 1}
}

.btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:11px 14px;
  border-radius:12px;
  border:1px solid rgba(201,168,106,.45);
  background:rgba(255,255,255,.04);
  color:#f2e7d2;
  font-weight:700;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
  box-shadow:0 6px 18px rgba(0,0,0,.25);
}
.btn-secondary:hover{
  transform:translateY(-1px);
  border-color:rgba(201,168,106,.75);
  background:rgba(255,255,255,.06);
  box-shadow:0 10px 26px rgba(201,168,106,.18);
}
.btn-secondary:active{
  transform:translateY(0);
}
#partnerModal > div{
  max-height:80vh;
  overflow:auto;
}



h1{font-family:"Playfair Display",serif;font-size:26px;margin:0}
h1 span{color:var(--gold);}
p.subtitle{color:#aab6ca;font-size:13px;margin:6px 0 18px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:36px;row-gap:18px;text-align:left}
.form-group label{display:block;margin:0 0 6px 2px;font-size:13px;color:#cfd8ea}
.form-group input,.form-group select{
  width:100%;padding:11px 14px;border-radius:12px;border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.05);color:#fff;font-size:14px;appearance:none;
  background-image:linear-gradient(135deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
  transition:all .2s ease; cursor:text;
}
.form-group select{cursor:pointer}
.form-group select option{background:#131c2c;color:#e9eef7}
.form-group select option:hover,.form-group select option:checked{background:#2b354a;color:#f3d18a}
.form-group input:focus,.form-group select:focus{
  outline:none;border-color:var(--gold);background:rgba(255,255,255,0.08);box-shadow:0 0 6px rgba(201,168,106,0.4)
}
.full{grid-column:span 2}
.checkline{display:flex;gap:10px;align-items:flex-start}
.checkline input[type=checkbox]{margin-top:3px;transform:translateY(1px)}
a.link{color:#d8bf84;text-decoration:none}
a.link:hover{text-decoration:underline}
button[type="submit"]{
  width:100%;padding:12px;border:none;border-radius:12px;
  background:linear-gradient(135deg,var(--gold),var(--gold2));color:#0b0b0b;font-weight:700;font-size:15px;cursor:pointer;
  box-shadow:0 6px 20px rgba(201,168,106,0.4);margin-top:6px;transition:transform .15s ease, box-shadow .15s ease
}
button[type="submit"]:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(201,168,106,0.55)}
.msg{margin:0 0 14px;padding:10px 12px;border-radius:10px;font-size:14px}
.success{background:rgba(67,209,151,.12);border:1px solid rgba(67,209,151,.35);color:#baf3dc}
.error{background:rgba(239,107,107,.12);border:1px solid rgba(239,107,107,.35);color:#ffd1d1}
footer{margin-top:18px;color:#aab6ca;font-size:13px}
footer a{color:var(--gold2);text-decoration:none}


/* ===== Sichtbare Checkboxen (AGB & Widerruf) ===== */
.form-check {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 10px 0 15px;
  font-size: 15px;
  color: #d8bf84;
}

.form-check input[type="checkbox"] {
  appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #d8bf84;
  border-radius: 6px;
  background-color: rgba(255,255,255,0.05);
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}

.form-check input[type="checkbox"]:checked {
  background-color: #d8bf84;
  border-color: #d8bf84;
  box-shadow: 0 0 8px rgba(216,191,132,0.6);
}

.form-check label a {
  color: #d8bf84;
  text-decoration: none;
  font-weight: 500;
}
.form-check label a:hover {
  text-decoration: underline;
}