/* Estilos personalizados para campos editáveis */
.form-input,
input[type="text"]:not(.tab-button),
input[type="url"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="color"],
input[type="file"],
textarea,
select {
    border: 2px solid rgba(30, 58, 138, 0.3) !important;
    transition: all 0.2s ease-in-out;
}

/* Excluir tabs dos estilos */
button[type="button"].border-b-2,
.tab-button {
    border: none !important;
    box-shadow: none !important;
}

.form-input:focus,
input[type="text"]:not(.tab-button):focus,
input[type="url"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="color"]:focus,
input[type="file"]:focus,
textarea:focus,
select:focus {
    border-color: rgba(30, 58, 138, 0.6) !important;
    box-shadow: 0 0 0 3px rgba(30, 58, 138, 0.1) !important;
    outline: none !important;
}

/* Excluir tabs dos estilos de focus */
button[type="button"].border-b-2:focus,
.tab-button:focus {
    border: none !important;
    box-shadow: none !important;
}

.form-input:hover,
input[type="text"]:not(.tab-button):hover,
input[type="url"]:hover,
input[type="email"]:hover,
input[type="password"]:hover,
input[type="number"]:hover,
input[type="color"]:hover,
input[type="file"]:hover,
textarea:hover,
select:hover {
    border-color: rgba(30, 58, 138, 0.5) !important;
}

/* Excluir tabs dos estilos de hover */
button[type="button"].border-b-2:hover,
.tab-button:hover {
    border: none !important;
    box-shadow: none !important;
}

/* Estilo especial para campos obrigatórios */
input[required],
textarea[required],
select[required] {
    border-left: 4px solid rgba(30, 58, 138, 0.4) !important;
}

/* Estilo para campos com erro */
input.border-red-300,
textarea.border-red-300,
select.border-red-300 {
    border-color: rgba(220, 38, 127, 0.5) !important;
}

input.border-red-300:focus,
textarea.border-red-300:focus,
select.border-red-300:focus {
    border-color: rgba(220, 38, 127, 0.7) !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 127, 0.1) !important;
}

/* Estilos para botões */
button[type="submit"],
.btn-primary {
    background: linear-gradient(
        135deg,
        rgba(30, 58, 138, 0.9),
        rgba(30, 58, 138, 1)
    ) !important;
    border: 2px solid rgba(30, 58, 138, 0.8) !important;
    transition: all 0.3s ease !important;
}

button[type="submit"]:hover,
.btn-primary:hover {
    background: linear-gradient(
        135deg,
        rgba(30, 58, 138, 1),
        rgba(30, 58, 138, 0.8)
    ) !important;
    border-color: rgba(30, 58, 138, 1) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(30, 58, 138, 0.3) !important;
}

/* Botões secundários */
.btn-secondary,
button[type="button"] {
    transition: all 0.3s ease !important;
}

.btn-secondary:hover,
button[type="button"]:hover {
    border-color: rgba(30, 58, 138, 0.6) !important;
    background-color: rgba(30, 58, 138, 0.05) !important;
}
