.elementor-57961 .elementor-element.elementor-element-d1ca323{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS for container, class: .elementor-element-d1ca323 *//* Paleta OPORT local al widget */
.elementor-57961 .elementor-element.elementor-element-d1ca323{
  --op-green: #16a34a;      /* AJUSTA si tu verde oficial es otro */
  --op-green-2:#0f8d39;     /* degradado más oscuro */
  --op-ink:   #111827;
  --op-muted: #f6f7fb;
  --op-border:#e7ecee;
}

.elementor-57961 .elementor-element.elementor-element-d1ca323 .oport-login{
  display:flex; justify-content:center; padding:16px;
}
.elementor-57961 .elementor-element.elementor-element-d1ca323 .oport-login__card{
  width:min(560px,100%); background:#fff; color:var(--op-ink);
  border:1px solid var(--op-border); border-radius:24px;
  box-shadow:0 20px 50px rgba(0,0,0,.08);
  padding:28px 22px; position:relative; z-index:5;
}
.elementor-57961 .elementor-element.elementor-element-d1ca323 .oport-login__card::before{
  content:""; position:absolute; inset:0 0 auto 0; height:6px;
  border-radius:24px 24px 0 0;
  background:linear-gradient(90deg, var(--op-green), var(--op-green-2));
}

.elementor-57961 .elementor-element.elementor-element-d1ca323 .oport-login__card h3{ margin:2px 0 6px; font-size:28px; font-weight:800; }
.elementor-57961 .elementor-element.elementor-element-d1ca323 .oport-login__card .sub{ margin:0 0 18px; color:#667085; }

.elementor-57961 .elementor-element.elementor-element-d1ca323 .oport-login__card label{ display:block; font-weight:700; margin:0 0 8px; }

.elementor-57961 .elementor-element.elementor-element-d1ca323 .oport-login__card input[type="text"],
.elementor-57961 .elementor-element.elementor-element-d1ca323 .oport-login__card input[type="email"],
.elementor-57961 .elementor-element.elementor-element-d1ca323 .oport-login__card input[type="password"]{
  width:100%; height:54px; font-size:16px; background:#fff;
  border:1px solid var(--op-border); border-radius:14px;
  padding:0 48px 0 14px; outline:0; transition:border .2s, box-shadow .2s;
}
.elementor-57961 .elementor-element.elementor-element-d1ca323 .oport-login__card input:focus{
  border-color:var(--op-green);
  box-shadow:0 0 0 4px rgba(22,163,74,.15);
}

/* Ojo dentro del input */
.elementor-57961 .elementor-element.elementor-element-d1ca323 .oport-passwrap{ position:relative; display:block; margin-bottom:14px; }
.elementor-57961 .elementor-element.elementor-element-d1ca323 .oport-eye{
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  width:38px; height:38px; border-radius:10px; border:0; cursor:pointer;
  background:#f1f5f9;
}
.elementor-57961 .elementor-element.elementor-element-d1ca323 .oport-eye::before{
  content:""; display:block; width:18px; height:18px; margin:10px auto;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111827' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/><circle cx='12' cy='12' r='3'/></svg>")
            center/contain no-repeat;
}

/* Botón Oport (forzado para vencer estilos del tema) */
.elementor-57961 .elementor-element.elementor-element-d1ca323 .oport-btn,
.elementor-57961 .elementor-element.elementor-element-d1ca323 .wpcf7 form .wpcf7-submit.oport-btn{
  width:100%; min-height:54px; display:flex; align-items:center; justify-content:center;
  border-radius:999px; border:0 !important;
  background:linear-gradient(90deg,var(--op-green),var(--op-green-2)) !important;
  color:#fff !important; font-weight:800; letter-spacing:.2px;
  box-shadow:0 12px 26px rgba(30,163,74,.28);
}
.elementor-57961 .elementor-element.elementor-element-d1ca323 .oport-btn:hover{ filter:brightness(1.05); transform:translateY(-1px); }

/* Enlace recuperar */
.elementor-57961 .elementor-element.elementor-element-d1ca323 .oport-forgot{ display:block; margin:12px auto 0; text-align:center;
  color:var(--op-green); font-weight:700; text-decoration:none; }
.elementor-57961 .elementor-element.elementor-element-d1ca323 .oport-forgot:hover{ text-decoration:underline; }

/* Oculta botones viejos heredados */
.elementor-57961 .elementor-element.elementor-element-d1ca323 .oport-passbtn{ display:none !important; }

@media (max-width:480px){
  .elementor-57961 .elementor-element.elementor-element-d1ca323 .oport-login__card{ padding:22px 16px; border-radius:18px; }
}/* End custom CSS */