.elementor-10 .elementor-element.elementor-element-96513fe{--display:flex;}/* Start custom CSS for shortcode, class: .elementor-element-92c64b6 *//* ===== OPORT · Auth Card ===== */
:root{
  --oport-green:#2e7d32;
  --oport-green-2:#1b5e20;
  --oport-ink:#0d0f12;
  --oport-muted:#f5f7f8;
  --oport-accent:#4fc3f7; /* azul cielo de tu paleta */
  --radius:18px;
  --shadow:0 12px 28px rgba(13,15,18,.10);
}

.oport-auth-card{
  max-width: 880px;
  margin: 24px auto 48px;
  background: #fff;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  border: 1px solid rgba(13,15,18,.06);
}

/* Head con sutil gradiente */
.oport-auth-head{
  padding: 28px 28px 18px;
  background: linear-gradient(180deg, rgba(46,125,50,.10), rgba(46,125,50,0));
}
.oport-auth-head h2{
  margin: 0 0 6px;
  font-size: clamp(22px, 3.2vw, 32px);
  letter-spacing: .2px;
  color: var(--oport-ink);
}
.oport-auth-head p{
  margin: 0; color:#5b6168;
}
.oport-auth-badge{
  display:inline-block; margin-bottom:10px;
  background: var(--oport-green); color:#fff; font-weight:800;
  padding:6px 10px; border-radius:999px; font-size:.78rem;
  box-shadow: 0 6px 14px rgba(46,125,50,.25);
}

/* Cuerpo CF7 */
.oport-auth-card .wpcf7{
  padding: 18px 24px 8px;
}
.oport-auth-card .wpcf7 form label{ 
  display:block; font-weight:700; color:#2a2e33; margin: 12px 0 6px;
}

/* Grid bonito */
.oport-auth-card .oport-grid{
  display:grid; gap:16px;
  grid-template-columns: repeat(2,minmax(0,1fr));
}
@media (max-width:780px){ .oport-auth-card .oport-grid{ grid-template-columns:1fr; } }

/* Inputs pro */
.oport-auth-card input[type="text"],
.oport-auth-card input[type="email"],
.oport-auth-card input[type="tel"],
.oport-auth-card input[type="password"],
.oport-auth-card input[type="date"],
.oport-auth-card select,
.oport-auth-card textarea{
  width:100%; background:#fff;
  border:1.8px solid #e7e8ea; border-radius:14px;
  padding:14px 16px; outline: none;
  transition: border .18s ease, box-shadow .18s ease, transform .02s ease;
  box-shadow: inset 0 1px 0 rgba(13,15,18,.03);
}
.oport-auth-card input:focus,
.oport-auth-card select:focus,
.oport-auth-card textarea:focus{
  border-color: var(--oport-green);
  box-shadow: 0 0 0 5px rgba(46,125,50,.12);
}
.oport-auth-card .wpcf7-not-valid-tip{ color:#c62828; font-weight:700; }

/* Botón principal */
.oport-auth-card .oport-btn,
.oport-auth-card input[type="submit"]{
  width:100%; padding:15px 18px; border-radius:14px; border:none;
  background:#000; color:#fff; font-weight:900; cursor:pointer;
  letter-spacing:.3px;
  transition: transform .08s ease, background .18s ease, box-shadow .18s ease;
  box-shadow: 0 10px 24px rgba(0,0,0,.14);
}
.oport-auth-card input[type="submit"]:hover{ background:#111; }
.oport-auth-card input[type="submit"]:active{ transform: translateY(1px); }

/* Aceptación + respuesta */
.oport-auth-card .wpcf7-acceptance input[type="checkbox"]{
  transform: translateY(2px); margin-right:8px;
}
.oport-auth-card .wpcf7 form .wpcf7-response-output{
  border-radius:12px; margin-top:12px;
}

/* Divider social */
.oport-auth-divider{
  display:flex; align-items:center; gap:12px;
  margin: 18px 24px 8px; color:#6b7178;
}
.oport-auth-divider::before,
.oport-auth-divider::after{
  content:""; height:1px; background:#e7e8ea; flex:1;
}
.oport-auth-divider span{ white-space:nowrap; font-weight:700; }

/* Botones sociales (neutros y pro) */
.oport-auth-social{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding: 0 24px 24px; }
.oport-btn-social{
  display:flex; align-items:center; justify-content:center; gap:10px;
  padding:12px; border-radius:12px; border:1px solid #e7e8ea; background:#fff;
  font-weight:800; color:#1e2227; text-decoration:none;
  transition: transform .08s ease, box-shadow .18s ease, border-color .18s ease;
}
.oport-btn-social:hover{ box-shadow:0 10px 20px rgba(13,15,18,.08); border-color:#dfe1e4; }
.oport-btn-social i{ width:18px; height:18px; display:inline-block; background:#999; border-radius:4px; }
/* Tip: si quieres logos reales, coloca SVG como background a .oport-btn-social.fb i, etc. */
.oport-btn-social.fb i{ background:#1877f2; }
.oport-btn-social.gg i{ background:#ea4335; }
.oport-btn-social.ml i{ background:#6b7280; }

/* Legal */
.oport-auth-legal{
  margin: -6px 24px 24px; color:#6b7178; font-size:.92rem;
}
.oport-auth-legal a{ color:var(--oport-green); font-weight:800; }

/* Detalle: quitar título gigante de Woo (si no lo quitaste aún) */
.woocommerce-account .entry-title{ display:none !important; }

/* Contenedor del input + icono */
.oport-passwrap{ position:relative; display:block; }

/* Da espacio para el icono a la derecha */
.oport-passwrap input{ padding-right:44px; }

/* Reset completo para que NO herede estilos del tema (evita el bloque negro) */
.oport-passbtn{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  width:28px; height:28px;
  display:inline-flex; align-items:center; justify-content:center;
  position:absolute; right:12px; top:50%; transform:translateY(-50%);
  cursor:pointer; color:#61666c;
}
.oport-passbtn:hover{ color:#111; }
.oport-passbtn:focus{ outline:none; }

/* Tamaño de los SVG */
.oport-passbtn svg{ width:18px; height:18px; fill:currentColor; }

/* Alterna entre ojo abierto/cerrado según aria-pressed */
.oport-passbtn .eye-off{ display:none; }
.oport-passbtn[aria-pressed="true"] .eye-on{ display:none; }
.oport-passbtn[aria-pressed="true"] .eye-off{ display:block; }

/* Pequeños ajustes visuales del grid para que no se vea chueco */
.oport-grid label{ display:block; }
.oport-grid input, .oport-grid select{
  vertical-align:middle;
  line-height:1.2;
}/* End custom CSS */