:root {
  --registro-azul: #082b70;
  --registro-azul-claro: #0758b7;
  --registro-cian: #08a9bd;
  --registro-magenta: #df007b;
  --registro-verde: #82bd00;
  --registro-naranja: #f59b19;
  --registro-texto: #263a59;
  --registro-texto-suave: #61718a;
  --registro-borde: #d7e0ed;
  --registro-fondo: #f6f9fd;
}

body.registro-general-2026 {
  color: var(--registro-texto);
  background: var(--registro-fondo);
}

.registro-general-2026 .content-wrapper {
  background: var(--registro-fondo);
}

.registro-general-2026 .bg-aneas-effect1 {
  position: relative;
  background:
    linear-gradient(180deg, #fff 0 12.5rem, var(--registro-fondo) 12.5rem) !important;
}

.registro-general-2026 .boton-2025-1 {
  position: absolute !important;
  top: 1.5rem;
  left: 1.5rem;
  z-index: 3;
  margin: 0 !important;
  padding: .65rem 1rem;
  color: var(--registro-azul) !important;
  font-size: .78rem;
  background: #fff !important;
  border: 1px solid var(--registro-borde) !important;
  border-radius: .45rem;
  box-shadow: 0 8px 24px rgba(8, 43, 112, .08);
}

.registro-general-2026 .boton-2025-1:hover {
  color: #fff !important;
  background: var(--registro-azul) !important;
  border-color: var(--registro-azul) !important;
}

.registro-general-marca {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 8rem;
  padding: 1rem max(3rem, calc((100% - 72rem) / 2));
  background: #fff;
}

.registro-general-marca a {
  display: block;
  width: min(27rem, 100%);
  margin-right: auto;
  margin-left: auto;
}

.registro-general-marca img {
  display: block;
  width: 100%;
  height: auto;
}

.registro-general-2026 .my-custom-background {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 4.75rem;
  padding: 1rem !important;
  background: var(--registro-azul) !important;
  border: 0;
}

.registro-general-2026 .welcome-txt {
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: clamp(1.55rem, 2.5vw, 2.15rem) !important;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.025em;
}

.registro-general-2026 .welcome-txt .style-2 {
  color: inherit;
}

.registro-general-2026 .bg-aneas-effect1 > .container {
  max-width: 66rem;
  padding-top: 2rem !important;
  padding-bottom: 3rem !important;
}

.registro-general-2026 .angled {
  background: transparent !important;
}

.registro-general-2026 .angled > .container {
  max-width: 52rem;
  padding: 0 !important;
}

.registro-general-2026 .angled .col-lg-10,
.registro-general-2026 .angled .col-xl-8 {
  width: 100%;
  margin: 0;
}

.registro-general-2026 .lead {
  margin: 0 auto 1.25rem !important;
  color: var(--registro-texto);
  font-size: .94rem;
  font-weight: 600;
  line-height: 1.45;
}

.registro-general-2026 .lead .btn {
  margin: 0 .25rem;
  padding: .3rem .7rem;
  color: var(--registro-azul);
  background: #fff;
  border: 1px solid var(--registro-borde);
  box-shadow: none;
}

.registro-general-2026 #frm-general {
  max-width: 50rem;
  margin-right: auto;
  margin-left: auto;
  padding: 2.75rem 3rem;
  text-align: left;
  background: #fff;
  border: 1px solid var(--registro-borde);
  border-radius: .65rem;
  box-shadow: 0 12px 35px rgba(8, 43, 112, .08);
}

.registro-general-2026 #frm-general .paso-formulario > .row {
  --bs-gutter-x: 2.25rem;
  row-gap: 1.5rem;
}

.registro-general-2026 .indicador-pasos {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 24rem;
  margin: 0 auto 1.25rem;
  padding: 0;
  list-style: none;
}

.registro-general-2026 .indicador-pasos li {
  position: relative;
  display: flex;
  justify-content: center;
}

.registro-general-2026 .indicador-pasos li:not(:last-child)::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  content: "";
  background: var(--registro-borde);
  transform: translateY(-50%);
}

.registro-general-2026 .indicador-pasos span {
  position: relative;
  z-index: 1;
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  color: var(--registro-texto-suave);
  font-size: .8rem;
  font-weight: 700;
  background: #fff;
  border: 2px solid var(--registro-borde);
  border-radius: 50%;
}

.registro-general-2026 .indicador-pasos li.activo span,
.registro-general-2026 .indicador-pasos li.completado span {
  color: #fff;
  background: var(--registro-azul);
  border-color: var(--registro-azul);
}

.registro-general-2026 .indicador-pasos li.completado::after {
  background: var(--registro-azul);
}

.registro-general-2026 .paso-formulario[hidden] {
  display: none !important;
}

.registro-general-2026 .paso-formulario.activo {
  animation: entrada-paso .22s ease-out;
}

@keyframes entrada-paso {
  from {
    opacity: 0;
    transform: translateY(.35rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.registro-general-2026 #frm-general hr {
  width: calc(100% - 1.5rem);
  margin: .45rem .75rem 1.1rem !important;
  color: var(--registro-borde);
  opacity: 1;
}

.registro-general-2026 #frm-general .form-floating,
.registro-general-2026 #frm-general .form-select-wrapper {
  margin-bottom: 0 !important;
}

.registro-general-2026 #frm-general .form-control,
.registro-general-2026 #frm-general .form-select {
  min-height: 3.2rem;
  color: var(--registro-texto);
  font-size: .9rem;
  background-color: #fff;
  border: 1px solid #b9c7da;
  border-radius: .4rem;
  box-shadow: none;
}

.registro-general-2026 #frm-general .form-control:focus,
.registro-general-2026 #frm-general .form-select:focus {
  border-color: var(--registro-cian);
  box-shadow: 0 0 0 .2rem rgba(8, 169, 189, .12);
}

.registro-general-2026 #frm-general .form-floating > label,
.registro-general-2026 #frm-general .select-title,
.registro-general-2026 #frm-general .etiqueta-select {
  color: var(--registro-texto-suave);
  font-size: .8rem;
  font-weight: 600;
}

.registro-general-2026 #frm-general .etiqueta-select {
  display: block;
  margin: 0 0 .45rem .05rem;
}

.registro-general-2026 #frm-general .campo-obligatorio {
  margin-left: .2rem;
  color: var(--registro-magenta);
  font-weight: 800;
}

.registro-general-2026 .aviso-obligatorios {
  margin: 0 0 1.5rem;
  color: var(--registro-texto-suave);
  font-size: .82rem;
  text-align: right;
}

.registro-general-2026 .aviso-obligatorios .campo-obligatorio {
  margin: 0 .15rem 0 0;
}

.registro-general-2026 #frm-general .select2-container {
  width: 100% !important;
  color: var(--registro-texto);
  border: 0;
  border-radius: .4rem;
}

.registro-general-2026 #frm-general .select2-selection {
  min-height: 3.2rem;
  padding: .45rem .75rem;
  border: 1px solid #b9c7da;
  border-radius: .4rem;
}

.registro-general-2026 #frm-general .select2-selection__rendered {
  color: var(--registro-texto);
  line-height: 2rem;
}

.registro-general-2026 #frm-general .select2-selection__arrow {
  top: .48rem;
  right: .4rem;
}

.registro-general-2026 .select2-container--bootstrap-5 .select2-results__options {
  max-height: 15rem;
  overflow-y: auto;
}

.registro-general-2026 #frm-general .css-special-fecha_1 {
  display: grid;
  grid-template-columns: auto repeat(3, minmax(0, 1fr));
  gap: .65rem;
  align-items: center;
  text-align: left !important;
}

.registro-general-2026 #frm-general .css-special-fecha_1 .select-title {
  grid-column: 1 / -1;
}

.registro-general-2026 #frm-general .css-special-fecha_1 .select2-container {
  width: 100% !important;
}

.registro-general-2026 #frm-general .invalid-feedback {
  display: block;
  margin-top: .35rem;
  color: #b42348;
  font-size: .78rem;
  font-weight: 600;
}

.registro-general-2026 #frm-general .is-invalid,
.registro-general-2026 #frm-general .is-invalid + .select2 .select2-selection,
.registro-general-2026 #frm-general select.is-invalid ~ .select2 .select2-selection {
  border-color: #e11d48 !important;
}

.registro-general-2026 #frm-general .g-recaptcha {
  margin-top: .15rem;
}

.registro-general-2026 #frm-general .acciones-paso {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  margin-top: 1rem;
  text-align: center;
}

.registro-general-2026 #frm-general .acciones-paso .btn {
  margin: 0 !important;
  padding: .65rem 1.15rem;
  font-size: .88rem;
  font-weight: 700;
  border-radius: .45rem;
  box-shadow: none;
}

.registro-general-2026 #frm-general .btn-primary {
  background: var(--registro-azul);
  border-color: var(--registro-azul);
}

.registro-general-2026 #frm-general .btn-primary:hover {
  background: var(--registro-azul-claro);
  border-color: var(--registro-azul-claro);
}

.registro-general-2026 #frm-general .btn-danger {
  color: var(--registro-azul);
  background: #fff;
  border-color: var(--registro-borde);
}

.registro-general-2026 #frm-general .btn-danger:hover {
  color: #fff;
  background: var(--registro-azul);
  border-color: var(--registro-azul);
}

.registro-general-2026 .divider {
  display: none;
}

body.registro-general-2026 footer.footer-especial {
  position: relative;
  color: #fff;
  background: var(--registro-azul) !important;
  font-weight: 500;
}

body.registro-general-2026 footer.footer-especial::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  content: "";
  background: linear-gradient(
    90deg,
    var(--registro-magenta) 0 22%,
    var(--registro-naranja) 22% 38%,
    var(--registro-verde) 38% 56%,
    var(--registro-cian) 56% 78%,
    var(--registro-azul-claro) 78% 100%
  );
}

.registro-general-2026 footer .container {
  padding-top: 2.25rem !important;
  padding-bottom: 2.25rem !important;
}

.registro-general-2026 footer .logo-footer-2026 {
  width: min(18rem, 100%);
  height: auto;
  margin-bottom: 1.25rem !important;
  padding: .75rem;
  background: #fff;
  border-radius: .45rem;
}

.registro-general-2026 footer .text-black,
.registro-general-2026 footer address {
  color: #fff !important;
}

.registro-general-2026 footer .widget-title,
.registro-general-2026 footer .link-body {
  color: #91d9e4 !important;
}

.swal2-popup.toast-registro {
  border-left: 4px solid var(--registro-magenta);
  box-shadow: 0 16px 45px rgba(8, 43, 112, .2);
}

.swal2-popup.toast-registro .swal2-title {
  color: var(--registro-azul);
  font-size: 1rem;
}

.swal2-popup.toast-registro .swal2-html-container {
  margin: .45rem 1rem .8rem;
  color: var(--registro-texto);
  font-size: .84rem;
  line-height: 1.45;
}

@media (max-width: 767px) {
  .registro-general-2026 .boton-2025-1 {
    top: .8rem;
    left: .8rem;
    padding: .5rem .7rem;
    font-size: .68rem;
  }

  .registro-general-marca {
    min-height: 7.5rem;
    padding: 3.5rem 1.25rem 1rem;
  }

  .registro-general-marca img {
    width: 100%;
  }

  .registro-general-marca a {
    width: min(24rem, 100%);
  }

  .registro-general-2026 .my-custom-background {
    min-height: 4.25rem;
  }

  .registro-general-2026 .bg-aneas-effect1 > .container {
    padding: 1.5rem .9rem 2.25rem !important;
  }

  .registro-general-2026 .lead {
    margin-bottom: 1.5rem !important;
    font-size: .94rem;
  }

  .registro-general-2026 .lead .btn {
    display: inline-block;
    margin-top: .35rem;
  }

  .registro-general-2026 #frm-general {
    padding: 1.75rem 1.25rem;
  }

  .registro-general-2026 #frm-general .paso-formulario > .row {
    --bs-gutter-x: 1.25rem;
    row-gap: 1.1rem;
  }

  .registro-general-2026 .aviso-obligatorios {
    text-align: left;
  }

  .registro-general-2026 #frm-general .css-special-fecha_1 {
    grid-template-columns: 1fr;
  }

  .registro-general-2026 #frm-general .css-special-fecha_1 .select2-container {
    width: 100% !important;
  }

  .registro-general-2026 #frm-general .acciones-paso {
    flex-direction: column-reverse;
  }

  .registro-general-2026 #frm-general .acciones-paso .btn {
    width: 100%;
  }

  .registro-general-2026 .g-recaptcha {
    overflow-x: auto;
  }

  .swal2-popup.toast-registro {
    width: calc(100% - 1.25rem) !important;
  }
}
