.contact-side button.btn { width: 100%; cursor: pointer; }
body.registration-open { overflow: hidden; }
#registration-dialog {
  width: min(580px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  padding: 36px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 24px 24px 38px 24px;
  color: #fff;
  background: linear-gradient(145deg, #3c2c63, #211735);
  box-shadow: 0 28px 90px rgba(0,0,0,.38);
  font-family: var(--body);
}
#registration-dialog::backdrop { background: rgba(16,11,25,.72); backdrop-filter: blur(5px); }
#registration-title { margin: 0 34px 12px 0; font-size: 25px; line-height: 1.3; }
#registration-description { margin: 0 0 22px; color: rgba(255,255,255,.78); font-size: 15px; line-height: 1.5; }
.registration-close {
  position: absolute; right: 14px; top: 12px; width: 44px; height: 44px;
  border: 0; border-radius: 50%; color: #fff; background: rgba(255,255,255,.08);
  font: 30px/1 var(--body); cursor: pointer;
}
#registration-form { display: grid; gap: 10px; }
#registration-form label { font-size: 13px; color: rgba(255,255,255,.86); }
#registration-form input, #registration-form select, #registration-form textarea {
  min-width: 0; width: 100%; padding: 13px 16px; margin-bottom: 4px;
  border: 1px solid rgba(255,255,255,.25); border-radius: 14px;
  background: rgba(255,255,255,.07); color: white; font: 16px/1.5 var(--body);
}
#registration-form textarea { resize: vertical; min-height: 90px; }
#registration-form input::placeholder, #registration-form textarea::placeholder { color: rgba(255,255,255,.5); }
#registration-form option { color: var(--burgundy-dark); background: white; }
#registration-form :is(input,select,textarea):focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.registration-submit {
  min-height: 50px; padding: 13px 18px; border: 0; border-radius: 999px;
  background: var(--gold); color: var(--burgundy-dark); font: 16px/1.5 var(--body); cursor: pointer;
}
.registration-submit:disabled { opacity: .7; cursor: wait; }
#registration-status { margin: 0; font-size: 14px; line-height: 1.5; }
#registration-status:not(:empty) { padding: 12px; border-radius: 12px; background: rgba(255,255,255,.1); }
#registration-status[data-state="error"] { color: #ffd7cf; }
#registration-status[data-state="success"] { color: #d5f5d8; }
.registration-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 600px) {
  #registration-dialog { padding: 26px 20px; }
  #registration-title { font-size: 22px; }
}
