/**
 * CSS mínima y funcional del plugin, no de diseño. El aspecto (colores,
 * tipografía, espaciado) sigue siendo cosa del tema activo (style.css de
 * `nordicbyte`, clases .nb-brief-form / .nb-form-*), como es lo normal en
 * WordPress: un plugin no debe imponer diseño a un tema.
 *
 * Lo que SÍ va aquí es lo que no puede depender de que el tema cargue bien:
 * el honeypot antispam tiene que quedar oculto siempre, aunque el CSS del
 * tema falle o cambie, o un usuario real vería un campo de más y sospecharía
 * (o peor, lo rellenaría y su envío se descartaría en silencio).
 */
.nb-form-honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Fallback mínimo si el tema no define nada para estas clases: que al menos
   no se vea un formulario roto (todo en una columna, espaciado básico). */
.nb-brief-form .nb-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}

.nb-brief-form .nb-form-field {
    margin-bottom: 1rem;
}

@media (max-width: 640px) {
    .nb-brief-form .nb-form-row {
        grid-template-columns: 1fr;
    }
}

/* Campos personalizados libres (2026-09-02). Fallback mínimo, igual que el
   resto de este fichero: el aspecto real lo decide el tema. */
.nb-form-hint {
    font-weight: normal;
    opacity: 0.7;
}

.nb-custom-field-row {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

@media (max-width: 640px) {
    .nb-custom-field-row {
        grid-template-columns: 1fr;
    }
}

.nb-custom-field-remove {
    background: none;
    border: 1px solid currentColor;
    border-radius: 4px;
    cursor: pointer;
    opacity: 0.6;
    width: 2rem;
}

.nb-custom-field-remove:hover {
    opacity: 1;
}

.nb-btn-secondary {
    background: none;
    border: 1px solid currentColor;
    opacity: 0.85;
}
