/* V52 — evita que el formulario y el modo fácil excedan el ancho disponible. */
html { scroll-padding-top: 16px; }
body.ttz-registration { min-width: 0; max-width: 100%; }
body.ttz-registration main,
body.ttz-registration .view,
body.ttz-registration .shell,
body.ttz-registration .form-wrap,
body.ttz-registration .form-sidebar,
body.ttz-registration .form-main,
body.ttz-registration .form-step,
body.ttz-registration .field,
body.ttz-registration .step-title,
body.ttz-registration .step-title > div { min-width: 0; max-width: 100%; box-sizing: border-box; }

body.ttz-registration .form-wrap { grid-template-columns: minmax(210px, 275px) minmax(0, 1fr); }
body.ttz-registration :where(h1, h2, h3, p, small, strong, label, legend, li, a, button, dd, dt, span) {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
body.ttz-registration :where(input, select, textarea, button) { box-sizing: border-box; max-width: 100%; min-width: 0; }
body.ttz-registration .field input:not([type=radio]):not([type=checkbox]),
body.ttz-registration .field select,
body.ttz-registration .field textarea { width: 100%; }
body.ttz-registration img:not(.prereg-icon) { display: block; max-width: 100%; height: auto; object-fit: contain; }
body.ttz-registration .file-preview,
body.ttz-registration .file-item,
body.ttz-registration .file-item span,
body.ttz-registration .review-summary,
body.ttz-registration .notice,
body.ttz-registration .callout,
body.ttz-registration .checkbox-line,
body.ttz-registration .form-actions,
body.ttz-registration .progress-list { min-width: 0; max-width: 100%; }


body.easy.ttz-registration .form-wrap { grid-template-columns: minmax(0, .36fr) minmax(0, .64fr); }
body.easy.ttz-registration .form-sidebar,
body.easy.ttz-registration .form-main { overflow-wrap: anywhere; }
body.easy.ttz-registration .step-title { align-items: flex-start; }
body.easy.ttz-registration .progress-list li { white-space: normal; overflow-wrap: anywhere; }
body.easy.ttz-registration .field-hint,
body.easy.ttz-registration .checkbox-line,
body.easy.ttz-registration .callout { line-height: 1.6; }

@media (max-width: 980px) {
  body.ttz-registration .form-wrap { grid-template-columns: minmax(190px, 240px) minmax(0, 1fr); }
}
@media (max-width: 700px) {
  body.ttz-registration .form-wrap { display: flex; flex-direction: column; }
  body.ttz-registration .form-sidebar,
  body.ttz-registration .form-main { width: 100%; }
  body.ttz-registration .step-title { display: grid; grid-template-columns: 45px minmax(0, 1fr); }
  body.ttz-registration .step-title h2 { font-size: clamp(21px, 6vw, 24px); }
  body.ttz-registration .form-actions .btn { flex: 1 1 120px; }
  body.easy.ttz-registration .form-main { padding-inline: 15px; }
}

@media (max-width: 360px) {
  body.ttz-registration .step-title { grid-template-columns: 38px minmax(0, 1fr); gap: 9px; }
  body.ttz-registration .step-icon { width: 38px; height: 38px; }
  body.ttz-registration .form-main { padding-inline: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  body.ttz-registration *, body.ttz-registration *::before, body.ttz-registration *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
