.choice-card{display:flex;flex-direction:column;min-height:100%;border:2px solid var(--line);transition:border-color .15s,transform .15s}
.choice-card:hover{border-color:var(--purple);transform:translateY(-2px)}
.choice-top{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.choice-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:var(--purple-light);font-size:30px;flex-shrink:0}
.choice-card ul{padding-left:20px;color:var(--muted);line-height:1.8;flex:1}
.step-tag{display:inline-block;background:#eee7ff;color:var(--purple);padding:6px 10px;border-radius:99px;font-size:12px;font-weight:900;margin-bottom:12px}
.section-divider{border:0;border-top:1px solid var(--line);margin:24px 0}
.field small{color:var(--muted);line-height:1.5;display:block}
.upload-box{border:1px dashed #b7a5d9;background:#fbf9ff;border-radius:12px;padding:15px}
.upload-box input{width:100%;padding:8px;background:white}
.role-list{display:grid;gap:12px}
.role-row{display:flex;gap:12px;align-items:center;border:1px solid var(--line);padding:12px;border-radius:12px}
.role-row .grow{flex:1}
.consent{display:flex;align-items:flex-start;gap:9px;line-height:1.5}
.consent input{margin-top:4px;flex-shrink:0}
@media(max-width:760px){.choice-card{min-height:0}}
/* FIX: Personal and organization registration on mobile */

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

.registration-page,
.page,
.registration-card,
.card,
form {
  min-width: 0;
  max-width: 100%;
}

.registration-page,
.page {
  width: 100%;
}

.registration-card input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.registration-card select,
.registration-card textarea,
.card input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.card select,
.card textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

input[type="file"] {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  font-size: 14px;
}

input[type="checkbox"],
input[type="radio"] {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 3px 0 0;
}

.registration-check,
label.registration-check,
.confirmation-row,
.consent-row {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.registration-check span,
.confirmation-row span,
.consent-row span {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.6;
}

@media (max-width: 600px) {
  .registration-page,
  .page {
    padding-left: 14px;
    padding-right: 14px;
  }

  .registration-card,
  .card {
    padding-left: 16px;
    padding-right: 16px;
  }

  .form-grid,
  .registration-form.two-columns,
  .grid.two {
    grid-template-columns: minmax(0, 1fr);
  }

  .field,
  .registration-field {
    min-width: 0;
    width: 100%;
  }

  .field.full,
  .registration-form .full-width {
    grid-column: 1 / -1;
  }

  .registration-button,
  .card button,
  .card .btn {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}