/* Aspecto cercano al formulario de Elementor Pro; los colores vienen de cada widget. */
.ilc-formulario { --ilc-col-gap: 10px; --ilc-row-gap: 10px; }
.ilc-formulario .ilc-campos { display: flex; flex-wrap: wrap; margin: 0 calc(var(--ilc-col-gap) / -2); }
.ilc-formulario .ilc-campo { box-sizing: border-box; padding: 0 calc(var(--ilc-col-gap) / 2); margin-bottom: var(--ilc-row-gap); width: 100%; }
.ilc-formulario .ilc-ancho-75 { width: 75%; } .ilc-formulario .ilc-ancho-66 { width: 66.666%; }
.ilc-formulario .ilc-ancho-50 { width: 50%; } .ilc-formulario .ilc-ancho-33 { width: 33.333%; }
.ilc-formulario .ilc-ancho-25 { width: 25%; } .ilc-formulario .ilc-ancho-20 { width: 20%; }
.ilc-formulario .ilc-ancho-30 { width: 30%; } .ilc-formulario .ilc-ancho-40 { width: 40%; }
.ilc-formulario .ilc-ancho-60 { width: 60%; } .ilc-formulario .ilc-ancho-70 { width: 70%; }
.ilc-formulario .ilc-ancho-80 { width: 80%; }
@media (max-width: 767px) { .ilc-formulario .ilc-campo { width: 100%; } .ilc-formulario .ilc-ancho-m-50 { width: 50%; } }
.ilc-formulario .ilc-etiqueta { display: block; margin-bottom: var(--ilc-etiqueta-sep, 6px); color: var(--ilc-etiqueta, inherit);
  font-family: var(--ilc-etiqueta-fuente, inherit); font-size: var(--ilc-etiqueta-tam, 15px); font-weight: var(--ilc-etiqueta-peso, 400); line-height: 1.4; }
.ilc-formulario .ilc-obligatorio { color: #d0021b; }
.ilc-formulario input:not([type=checkbox]):not([type=radio]):not([type=file]),
.ilc-formulario select, .ilc-formulario textarea {
  width: 100%; box-sizing: border-box; padding: 8px 14px; min-height: 40px;
  font-family: var(--ilc-campo-fuente, inherit); font-size: var(--ilc-campo-tam, 15px); font-weight: var(--ilc-campo-peso, 400);
  color: var(--ilc-campo-texto, #1f2124); background: var(--ilc-campo-fondo, #fff);
  border: 1px solid var(--ilc-campo-borde, #69727d); border-radius: var(--ilc-campo-radio, 3px);
}
.ilc-formulario input[type=file] { width: 100%; font-size: 14px; }
.ilc-formulario .ilc-opcion { display: block; color: var(--ilc-etiqueta, inherit); font-size: 15px; }
.ilc-formulario .ilc-en-linea .ilc-opcion { display: inline-block; margin-right: 16px; }
.ilc-formulario .ilc-html { color: var(--ilc-html, inherit); }
.ilc-formulario .ilc-boton-grupo { display: flex; }
.ilc-formulario .ilc-alinear-center { justify-content: center; } .ilc-formulario .ilc-alinear-end { justify-content: flex-end; }
.ilc-formulario .ilc-boton {
  width: 100%; padding: 12px 24px; border: 0; cursor: pointer;
  font-family: var(--ilc-boton-fuente, inherit); font-weight: var(--ilc-boton-peso, 500); font-size: var(--ilc-boton-tam, 15px);
  color: var(--ilc-boton-texto, #fff); background: var(--ilc-boton-fondo, #181E4E); border-radius: var(--ilc-boton-radio, 3px);
}
.ilc-formulario .ilc-boton:disabled { opacity: .6; cursor: wait; }
.ilc-formulario .ilc-invalido input, .ilc-formulario .ilc-invalido select, .ilc-formulario .ilc-invalido textarea { border-color: #d0021b; }
.ilc-formulario .ilc-mensaje:empty { display: none; }
.ilc-formulario .ilc-mensaje { margin-top: 10px; padding: 10px 14px; border-radius: 3px; font-size: 15px; }
.ilc-formulario .ilc-ok { background: #e7f5ee; color: #135c34; }
.ilc-formulario .ilc-error { background: #fdecec; color: #8a1414; }
.ilc-formulario .ilc-trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* =====================================================================================
   Formularios de matrícula (páginas de regreso de PayPal y su ventana previa al pago).
   Modelo: formularios de Compliance360 (etiquetas arriba, campos altos con fondo suave,
   ayudas y errores bajo cada campo, botón grande), con la identidad del Instituto.
   ===================================================================================== */
.ilc-formulario[data-regreso="1"] { --ilc-azul: #234C8F; --ilc-marino: #181E4E; --ilc-rojo: #b42318; --ilc-borde: #d3d6da;
  --ilc-col-gap: 20px; --ilc-row-gap: 20px; font-family: "DM Sans", Arial, sans-serif; color: #1f2937; }
.ilc-formulario[data-regreso="1"] .ilc-campos { margin: 0 -10px; }
.ilc-formulario[data-regreso="1"] .ilc-campo { padding: 0 10px; margin-bottom: 20px; }
.ilc-formulario[data-regreso="1"] .ilc-etiqueta { display: block; margin: 0 0 8px; font-family: "DM Sans", Arial, sans-serif;
  font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--ilc-marino); }
.ilc-formulario[data-regreso="1"] .ilc-opcional { font-weight: 400; color: #6b7280; }
.ilc-formulario[data-regreso="1"] input:not([type=checkbox]):not([type=radio]):not([type=file]),
.ilc-formulario[data-regreso="1"] select,
.ilc-formulario[data-regreso="1"] textarea {
  display: block; width: 100%; min-height: 52px; padding: 12px 16px; box-sizing: border-box;
  font-family: "DM Sans", Arial, sans-serif; font-size: 16px; line-height: 1.4; color: #1f2937;
  background: #f6f7f8; border: 1px solid var(--ilc-borde); border-radius: 10px; box-shadow: none;
  transition: border-color .2s, background-color .2s; }
.ilc-formulario[data-regreso="1"] input::placeholder, .ilc-formulario[data-regreso="1"] textarea::placeholder { color: #8a8f96; }
.ilc-formulario[data-regreso="1"] input:hover, .ilc-formulario[data-regreso="1"] select:hover, .ilc-formulario[data-regreso="1"] textarea:hover { border-color: #a9aeb4; }
.ilc-formulario[data-regreso="1"] input:focus, .ilc-formulario[data-regreso="1"] select:focus, .ilc-formulario[data-regreso="1"] textarea:focus {
  background: #fff; border-color: var(--ilc-azul); outline: 2px solid var(--ilc-azul); outline-offset: 1px; }
.ilc-formulario[data-regreso="1"] select { cursor: pointer; -webkit-appearance: none; appearance: none; padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23565b62' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; background-size: 20px; }
.ilc-formulario[data-regreso="1"] textarea { min-height: 110px; }
.ilc-formulario[data-regreso="1"] .ilc-ayuda { display: block; margin-top: 6px; font-size: 13px; line-height: 1.45; color: #6b7280; }
.ilc-formulario[data-regreso="1"] .ilc-error-campo { display: block; margin-top: 6px; font-size: 13px; font-weight: 600; line-height: 1.4; color: var(--ilc-rojo); }
.ilc-formulario[data-regreso="1"] .ilc-error-campo:empty { display: none; }
.ilc-formulario[data-regreso="1"] .ilc-invalido input:not([type=checkbox]),
.ilc-formulario[data-regreso="1"] .ilc-invalido select,
.ilc-formulario[data-regreso="1"] .ilc-invalido textarea { border: 2px solid var(--ilc-rojo); background: #fff; }
/* Teléfono: código del país fijo delante */
.ilc-formulario[data-regreso="1"] .ilc-tel { display: flex; align-items: stretch; }
.ilc-formulario[data-regreso="1"] .ilc-prefijo { display: flex; align-items: center; padding: 0 14px; min-width: 64px; justify-content: center;
  font-size: 16px; font-weight: 600; color: var(--ilc-marino); background: #e9edf2; border: 1px solid var(--ilc-borde); border-right: 0; border-radius: 10px 0 0 10px; }
.ilc-formulario[data-regreso="1"] .ilc-tel input { border-radius: 0 10px 10px 0 !important; }
.ilc-formulario[data-regreso="1"] .ilc-invalido .ilc-prefijo { border-color: var(--ilc-rojo); }
/* Monto fijado por el botón elegido */
.ilc-formulario[data-regreso="1"] .ilc-monto-fijo input { background: #EFF3F4 !important; border: 0 !important; border-left: 4px solid var(--ilc-azul) !important;
  border-radius: 6px !important; font-weight: 700; font-size: 17px !important; color: var(--ilc-marino) !important; cursor: default; }
/* Autorización */
.ilc-formulario[data-regreso="1"] .ilc-campo-acceptance { margin-top: 4px; }
.ilc-formulario[data-regreso="1"] .ilc-aceptacion { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; line-height: 1.5; color: #374151; cursor: pointer; }
.ilc-formulario[data-regreso="1"] .ilc-aceptacion input { flex: none; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--ilc-azul); cursor: pointer; }
.ilc-formulario[data-regreso="1"] .ilc-invalido .ilc-aceptacion input { outline: 2px solid var(--ilc-rojo); outline-offset: 2px; }
/* Botón */
.ilc-formulario[data-regreso="1"] .ilc-boton-grupo { width: 100% !important; margin-top: 4px; }
.ilc-formulario[data-regreso="1"] .ilc-boton { width: 100%; min-height: 56px; padding: 14px 28px; border: 0; border-radius: 10px;
  font-family: "DM Sans", Arial, sans-serif; font-size: 17px; font-weight: 700; letter-spacing: .2px; color: #fff; background: var(--ilc-azul);
  cursor: pointer; transition: background-color .2s, transform .1s; }
.ilc-formulario[data-regreso="1"] .ilc-boton:hover { background: var(--ilc-marino); }
.ilc-formulario[data-regreso="1"] .ilc-boton:active { transform: scale(.99); }
.ilc-formulario[data-regreso="1"] .ilc-mensaje { margin-top: 14px; border-radius: 8px; font-size: 14px; font-weight: 500; }
.ilc-formulario[data-regreso="1"] .ilc-error { background: #fdecea; color: #8a1c13; }
@media (min-width: 768px) { .ilc-formulario[data-regreso="1"] .ilc-boton { width: auto; min-width: 280px; } }
@media (max-width: 767px) { .ilc-formulario[data-regreso="1"] .ilc-campo { width: 100% !important; } }
.ilc-formulario[data-regreso="1"] [data-ilc-rol="monto"] .ilc-opcional { display: none; }
