.elementor-5228 .elementor-element.elementor-element-6c2e1e2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for container, class: .elementor-element-6c2e1e2 *//* ======================================================
   LOGIN GCFCONTADORES - ESTILO PRINCIPAL
   ------------------------------------------------------
   Autor: Yeison (GCFCONTADORES S.A.C.)
   Descripción: Estilos base para el formulario de acceso
   ====================================================== */

/* ----------------------------
   🔹 RESETEO GENERAL
----------------------------- */
* {
  padding: 0;
  margin: 0;
  color: #1a1f36;
  box-sizing: border-box;
  word-wrap: break-word;
  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,
    Helvetica Neue, Ubuntu, sans-serif;
}

/* Fondo y estructura base */
body {
  min-height: 100%;
  background-color: #ffffff;
}

/* ----------------------------
   🔹 TITULOS Y ENLACES
----------------------------- */
h1 {
  letter-spacing: -1px;
}

a {
  color: #5469d4;
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: #3347b0;
}

/* ----------------------------
   🔹 CONTENEDOR PRINCIPAL
----------------------------- */
.login-root {
  background: #fff;
  display: flex;
  width: 100%;
  min-height: 100vh;
  overflow: hidden;
}

/* Fondo animado con formas */
.loginbackground {
  min-height: 692px;
  position: fixed;
  inset: 0; /* reemplaza top/bottom/left/right */
  z-index: 0;
  overflow: hidden;
}

/* ----------------------------
   🔹 FLEX UTILITIES
----------------------------- */
.flex-flex {
  display: flex;
}

.align-center {
  align-items: center;
}

.center-center {
  align-items: center;
  justify-content: center;
}

.box-root {
  box-sizing: border-box;
}

.flex-direction--column {
  flex-direction: column;
}

.flex-justifyContent--center {
  justify-content: center;
}

/* ----------------------------
   🔹 FONDO GRID ANIMADO
----------------------------- */
.loginbackground-gridContainer {
  display: grid;
  grid-template-columns: [start] 1fr [left-gutter] repeat(16, 86.6px)
    [left-gutter] 1fr [end];
  grid-template-rows: [top] 1fr [top-gutter] repeat(8, 64px)
    [bottom-gutter] 1fr [bottom];
  justify-content: center;
  margin: 0 -2%;
  transform: rotate(-12deg) skew(-12deg);
}

/* ----------------------------
   🔹 COLORES DE CAJAS DECORATIVAS
----------------------------- */
.box-divider--light-all-2 {
  box-shadow: inset 0 0 0 2px #e3e8ee;
}

.box-background--blue {
  background-color: #5469d4;
}

.box-background--white {
  background-color: #ffffff;
}

.box-background--blue800 {
  background-color: #212d63;
}

.box-background--gray100 {
  background-color: #e3e8ee;
}

.box-background--cyan200 {
  background-color: #7fd3ed;
}

/* ----------------------------
   🔹 ESPACIADOS UTILES
----------------------------- */
.padding-top--64 {
  padding-top: 64px;
}

.padding-top--48 {
  padding-top: 48px;
}

.padding-top--24 {
  padding-top: 24px;
}

.padding-bottom--24 {
  padding-bottom: 24px;
}

.padding-bottom--15 {
  padding-bottom: 15px;
}

.padding-horizontal--48 {
  padding: 48px;
}

/* ----------------------------
   🔹 FORMULARIO PRINCIPAL
----------------------------- */
.formbg {
  margin: 0 auto;
  width: 100%;
  max-width: 448px;
  background: #fff;
  border-radius: 4px;
  box-shadow: rgba(60, 66, 87, 0.12) 0px 7px 14px,
    rgba(0, 0, 0, 0.12) 0px 3px 6px;
}

/* Texto de encabezado */
span {
  display: block;
  font-size: 20px;
  line-height: 28px;
  color: #1a1f36;
}

/* Etiquetas */
label {
  margin-bottom: 10px;
}

/* ----------------------------
   🔹 CAMPOS DE FORMULARIO
----------------------------- */
.reset-pass a,
label {
  font-size: 14px;
  font-weight: 600;
  display: block;
}

/* Enlace "¿Olvidaste tu contraseña?" */
.reset-pass > a {
  text-align: right;
  margin-bottom: 10px;
}

.grid--50-50 {
  display: grid;
  grid-template-columns: 50% 50%;
  align-items: center;
}

/* Inputs */
.field input {
  font-size: 16px;
  line-height: 28px;
  padding: 8px 16px;
  width: 100%;
  min-height: 44px;
  border: none;
  border-radius: 4px;
  outline-color: rgba(84, 105, 212, 0.5);
  background-color: #fff;
  box-shadow: rgba(60, 66, 87, 0.16) 0 0 0 1px;
  transition: box-shadow 0.2s ease;
}

.field input:focus {
  box-shadow: rgba(84, 105, 212, 0.5) 0 0 0 2px;
}

/* ----------------------------
   🔹 BOTÓN "INGRESAR"
----------------------------- */
input[type="submit"] {
  background-color: #5469d4;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  border: none;
  border-radius: 4px;
  transition: background-color 0.25s ease, box-shadow 0.25s ease;
  box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 1px,
    rgb(84, 105, 212) 0px 0px 0px 1px, rgba(60, 66, 87, 0.08) 0px 2px 5px;
}

input[type="submit"]:hover {
  background-color: #4058c2;
  box-shadow: rgba(84, 105, 212, 0.3) 0px 3px 8px;
}

/* ----------------------------
   🔹 CHECKBOXES
----------------------------- */
.field-checkbox input {
  width: 18px;
  height: 18px;
  margin-right: 8px;
  box-shadow: none;
  accent-color: #5469d4; /* color del check (moderno y limpio) */
  cursor: pointer;
}

.field-checkbox label {
  display: flex;
  align-items: center;
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: #1a1f36;
}

/* ----------------------------
   🔹 PIE DE PÁGINA
----------------------------- */
.footer-link span {
  font-size: 14px;
  text-align: center;
}

.listing a {
  color: #697386;
  font-weight: 600;
  margin: 0 10px;
  transition: color 0.2s ease;
}

.listing a:hover {
  color: #5469d4;
}

/* ----------------------------
   🔹 ANIMACIONES DE FONDO
----------------------------- */
.animationRightLeft {
  animation: animationRightLeft 2s ease-in-out infinite;
}

.animationLeftRight {
  animation: animationLeftRight 2s ease-in-out infinite;
}

.tans3s {
  animation: animationLeftRight 3s ease-in-out infinite;
}

.tans4s {
  animation: animationLeftRight 4s ease-in-out infinite;
}

/* Movimiento de fondo */
@keyframes animationLeftRight {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(1000px);
  }
  100% {
    transform: translateX(0px);
  }
}

@keyframes animationRightLeft {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(-1000px);
  }
  100% {
    transform: translateX(0px);
  }
}

/* ----------------------------
   🔹 RESPONSIVIDAD
----------------------------- */
@media (max-width: 768px) {
  .formbg {
    max-width: 400px;
    padding: 24px;
  }

  span {
    font-size: 18px;
    text-align: center;
  }

  input[type="submit"] {
    width: 100%;
  }

  .field-checkbox {
    margin-top: 12px;
  }
}

@media (max-width: 480px) {
  .formbg {
    max-width: 90%;
  }

  span {
    font-size: 16px;
  }

  label,
  .reset-pass a {
    font-size: 13px;
  }

  input[type="submit"] {
    font-size: 15px;
    padding: 10px;
  }

  .loginbackground-gridContainer {
    transform: rotate(-8deg) skew(-8deg);
    opacity: 0.8;
  }
}/* End custom CSS */