/* scoped reset to avoid theme collisions */
.sxm-enroll-wrap, .sxm-enroll-wrap * { box-sizing: border-box; }
.sxm-enroll-wrap input, .sxm-enroll-wrap select, .sxm-enroll-wrap textarea {
  font: inherit;
}

/* container */
.sxm-enroll-wrap { max-width: 900px; margin: 0 auto; padding: 0 10px; }
.sxm-success {
  background: #e8fff2; border: 1px solid #b7f0cd; color:#0b7a3b;
  padding:16px 18px; border-radius:14px; margin:12px 0 24px; line-height:1.5;
}

/* sections */
.sxm-form { background:#fff; }
.sxm-section {
  background:#fafbfd; border:1px solid #eef1f6; border-radius:18px;
  padding:22px; margin:18px 0;
  box-shadow: 0 2px 10px rgba(20,22,30,.04);
}
.sxm-section h3 { margin:0 0 4px; font-size:20px; }
.sxm-note { margin:0 0 16px; color:#607089; font-size:13px; }

/* grid */
.sxm-grid {
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:16px;
}

/* IMPORTANT: make one column on small screens */
@media (max-width: 768px) {
  .sxm-grid { grid-template-columns: 1fr; gap:12px; }
}

/* fields */
.sxm-field { display:flex; flex-direction:column; min-width:0; }
.sxm-field span { font-weight:600; margin-bottom:6px; line-height:1.2; }

.sxm-field input[type="text"],
.sxm-field input[type="tel"],
.sxm-field input[type="email"],
.sxm-field input[type="date"],
.sxm-field textarea,
.sxm-field select {
  display:block;
  width:100% !important;
  max-width:100%;
  border:1px solid #dde3ee; border-radius:14px; padding:12px 14px;
  background:#fff; outline:none; transition:border-color .2s, box-shadow .2s;
}

/* iOS/Android date/select appearance improvements */
.sxm-field input[type="date"] { -webkit-appearance: none; appearance: none; }
.sxm-field select { -webkit-appearance: none; appearance: none; background-image:none; }

.sxm-field textarea { resize:vertical; min-height:100px; }
.sxm-field input:focus,
.sxm-field textarea:focus,
.sxm-field select:focus {
  border-color:#8ac5ff; box-shadow:0 0 0 3px rgba(72,150,255,.15);
}
.sxm-help { color:#7c8aa5; font-size:12px; margin-top:6px; }

/* utilities */
.sxm-col-2 { grid-column: span 2; }
@media (max-width:768px){ .sxm-col-2 { grid-column: span 1; } }

.sxm-checkbox { flex-direction:row; align-items:flex-start; gap:8px; }
.sxm-checkbox span { font-weight:500; margin:0; }

.sxm-subtitle { font-weight:700; color:#47536b; }
.sxm-divider { grid-column: span 2; margin:6px 0; }
@media (max-width:768px){ .sxm-divider { grid-column: span 1; } }

.sxm-options label { margin-right:16px; display:inline-flex; align-items:center; gap:6px; flex-wrap:wrap; }

/* buttons */
.sxm-btn,
.sxm-btn-light {
  border-radius:14px; padding:12px 16px; cursor:pointer; border:0;
  font-weight:600;
}
.sxm-btn { background:#2fbfff; color:#fff; }
.sxm-btn:hover { filter:brightness(.95); }
.sxm-btn-light { background:#eef6ff; color:#0a4a7d; margin-top:10px; }

.sxm-actions { text-align:right; margin-top:12px; }

/* errors */
.sxm-error { color:#b00020; font-size:12px; margin-top:6px; }
.sxm-field.invalid input,
.sxm-field.invalid select,
.sxm-field.invalid textarea { border-color:#f3b3b3; box-shadow:0 0 0 3px rgba(255,0,0,.08); }
