/* ═══════════════════════════════════════════════════════════════
   aDeM0Ri · LOGIN + REGISTRO (Ultimate Member)
   Unifica los formularios con el sistema visual del sitio.
   Paleta teal #5eead4 + indigo #818cf8 sobre #0b0f19
   ═══════════════════════════════════════════════════════════════ */

/* ─── OCULTAR EL HONEYPOT DE UM ───
   Sigue funcionando (los bots lo llenan), pero el usuario no lo ve. */
.um-form .um-field-honeypot,
.um-form [class*="honeypot"],
.um-form input[name*="honeypot"],
#um-field-honeypot {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    left: -9999px !important;
}

/* El texto "Only fill in if you are not human" */
.um-form .um-field-honeypot label,
.um-form .um-field-honeypot .um-field-label { display: none !important; }

/* ─── CONTENEDOR DEL FORMULARIO ─── */
.um.um-login,
.um.um-register,
.um-form {
    max-width: 480px !important;
    margin: 0 auto !important;
}

/* ─── CABECERA (el // REGISTRO DE NUEVO NODO) ─── */
.um-form .um-form-header,
.um-form h2,
.um-form .um-col-1 > h2,
.um .um-form-head {
    font-family: 'JetBrains Mono', 'Courier New', monospace !important;
    font-size: .82rem !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    color: var(--dx-accent, #5eead4) !important;
    opacity: .8;
    margin: 0 0 22px 0 !important;
    font-weight: 500 !important;
}

/* ─── TARJETA CONTENEDORA ─── */
.um-form .um-col-1,
.um-form .um-col-2 {
    background: transparent !important;
}

.um-form > .um-col-1,
.um-form .um-form-body {
    background: linear-gradient(150deg, var(--dx-card2, #152036), var(--dx-card, #101827)) !important;
    border: 1px solid var(--dx-border, #22304d) !important;
    border-radius: 14px !important;
    padding: 26px 24px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .3) !important;
}

/* ─── CAMPOS ─── */
.um-form .um-field {
    margin-bottom: 16px !important;
    padding: 0 !important;
}

.um-form .um-field-label label,
.um-form .um-field-label {
    font-size: .78rem !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    color: var(--dx-dim, #8ea0bf) !important;
    font-weight: 600 !important;
    margin-bottom: 6px !important;
    display: block !important;
}

/* El asterisco de obligatorio */
.um-form .um-field-label .um-required {
    color: var(--dx-accent, #5eead4) !important;
    opacity: .8;
}

.um-form input[type="text"],
.um-form input[type="email"],
.um-form input[type="password"],
.um-form input[type="tel"],
.um-form input[type="url"],
.um-form select,
.um-form textarea {
    width: 100% !important;
    background: rgba(11, 15, 25, .72) !important;
    border: 1px solid var(--dx-border, #22304d) !important;
    border-radius: 9px !important;
    color: var(--dx-txt, #e8eefc) !important;
    padding: 11px 13px !important;
    font-size: .92rem !important;
    font-family: inherit !important;
    box-sizing: border-box !important;
    transition: border-color .18s ease, box-shadow .18s ease !important;
    line-height: 1.4 !important;
}

.um-form input:focus,
.um-form select:focus,
.um-form textarea:focus {
    outline: none !important;
    border-color: var(--dx-accent, #5eead4) !important;
    box-shadow: 0 0 0 3px rgba(94, 234, 212, .13) !important;
    background: rgba(11, 15, 25, .9) !important;
}

.um-form input::placeholder { color: rgba(142, 160, 191, .55) !important; }

/* ─── BOTON PRINCIPAL ─── */
.um-form input[type="submit"],
.um-form button[type="submit"],
.um-form .um-button,
.um-form .um-submit-btn,
.um-form a.um-button {
    width: 100% !important;
    background: linear-gradient(100deg, var(--dx-accent, #5eead4), var(--dx-accent2, #818cf8)) !important;
    color: #07131a !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 13px 20px !important;
    font-size: .9rem !important;
    font-weight: 700 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: transform .16s ease, box-shadow .16s ease, filter .16s ease !important;
    box-shadow: 0 4px 16px var(--dx-glow, rgba(94, 234, 212, .16)) !important;
    margin-top: 6px !important;
}

.um-form input[type="submit"]:hover,
.um-form button[type="submit"]:hover,
.um-form .um-button:hover {
    transform: translateY(-1px) !important;
    filter: brightness(1.07) !important;
    box-shadow: 0 7px 24px rgba(94, 234, 212, .28) !important;
}

/* ─── LINKS SECUNDARIOS (olvidé contraseña / acceder) ─── */
.um-form a,
.um-form .um-field a,
.um-form .um-alt {
    color: var(--dx-accent, #5eead4) !important;
    text-decoration: none !important;
    font-size: .84rem !important;
    transition: opacity .16s ease !important;
}

.um-form a:hover { opacity: .78; text-decoration: underline !important; }

/* ─── RECUERDAME / CHECKBOX ─── */
.um-form .um-field-checkbox label,
.um-form .um-field-radio label {
    text-transform: none !important;
    font-size: .86rem !important;
    color: var(--dx-dim, #8ea0bf) !important;
    letter-spacing: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.um-form input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    accent-color: var(--dx-accent, #5eead4) !important;
    margin: 0 !important;
}

/* ─── MENSAJES DE ERROR / EXITO ─── */
.um-form .um-error,
.um-form .um-notice.err,
.um-form .um-field-error {
    background: rgba(251, 113, 133, .1) !important;
    border: 1px solid rgba(251, 113, 133, .35) !important;
    border-radius: 9px !important;
    color: #fda4af !important;
    padding: 11px 14px !important;
    font-size: .85rem !important;
    margin-bottom: 16px !important;
}

.um-form .um-notice.success,
.um-form .um-success {
    background: rgba(52, 211, 153, .1) !important;
    border: 1px solid rgba(52, 211, 153, .35) !important;
    border-radius: 9px !important;
    color: #6ee7b7 !important;
    padding: 11px 14px !important;
    font-size: .85rem !important;
}

.um-form .um-field-error {
    margin: 6px 0 0 0 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    font-size: .78rem !important;
}

/* ─── DIVISOR / UTILIDADES ─── */
.um-form .um-col-alt,
.um-form .um-clear { margin-top: 14px !important; }

/* ─── RESPONSIVE ─── */
@media (max-width: 640px) {
    .um.um-login, .um.um-register, .um-form { max-width: 100% !important; }

    .um-form > .um-col-1,
    .um-form .um-form-body {
        padding: 20px 16px !important;
        border-radius: 12px !important;
    }

    .um-form input[type="text"],
    .um-form input[type="email"],
    .um-form input[type="password"] {
        font-size: 16px !important;   /* evita el zoom automatico en iOS */
        padding: 12px 13px !important;
    }

    .um-form input[type="submit"] { padding: 14px !important; font-size: .86rem !important; }
}


/* ═══════════════════════════════════════════════════════════════
   OVERRIDE FINAL — gana al CSS del Personalizador (.wpcf7-form input)
   Se usa "body .um-form ..." para subir especificidad (0,2,1) y
   !important para empatar. El orden ya no importa.
   ═══════════════════════════════════════════════════════════════ */

body .um-form input[type="text"],
body .um-form input[type="email"],
body .um-form input[type="password"],
body .um-form input[type="tel"],
body .um-form input[type="url"],
body .um-form input[type="number"],
body .um-form input[type="search"],
body .um-form select,
body .um-form textarea {
    background: rgba(11, 15, 25, .72) !important;
    border: 1px solid var(--dx-border, #22304d) !important;
    border-radius: 10px !important;
    color: var(--dx-txt, #e8eefc) !important;
}

body .um-form input[type="text"]:focus,
body .um-form input[type="email"]:focus,
body .um-form input[type="password"]:focus,
body .um-form textarea:focus {
    border-color: var(--dx-accent, #5eead4) !important;
    box-shadow: 0 0 0 3px rgba(94, 234, 212, .13) !important;
    background: rgba(11, 15, 25, .9) !important;
}

/* El select de UM (paises, etc) */
body .um-form .um-field select,
body .um-form .select2-container .select2-choice {
    background: rgba(11, 15, 25, .72) !important;
    border: 1px solid var(--dx-border, #22304d) !important;
    border-radius: 10px !important;
    color: var(--dx-txt, #e8eefc) !important;
    height: auto !important;
    padding: 10px 12px !important;
}

/* Contenedor del formulario — el borde del card */
body .um-form .um-col-1,
body .um-form .um-form-body,
body .um.um-login .um-form,
body .um.um-register .um-form {
    background: linear-gradient(150deg, var(--dx-card2, #152036), var(--dx-card, #101827)) !important;
    border: 1px solid var(--dx-border, #22304d) !important;
    border-radius: 14px !important;
}
