/* Transições suaves entre temas */

/* Transições globais */
* {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Excluir imagens, ícones e elementos que não devem ter transições de tamanho */
img,
i,
svg,
.icon,
.fa,
.icon-1,
.icon-2,
.icon-3 {
    transition: opacity 0.3s ease !important;
}

/* Transições específicas para elementos */
.header,
.footer,
.box,
.btn,
.form-group input,
.form-group select,
.form-group textarea,
.admin-table,
.dropdown-menu,
.modal-content,
.alert,
.badge,
.filter-btn,
.fatura-item,
.no-faturas {
    transition: all 0.3s ease;
}

/* Transições para hover */
.btn:hover,
.dropdown-item:hover,
.filter-btn:hover,
.theme-toggle:hover {
    transition: all 0.3s ease;
}

/* Transições para focus */
input:focus,
select:focus,
textarea:focus {
    transition: all 0.3s ease;
}

/* Transições para o botão de tema */
.theme-toggle {
    transition: all 0.3s ease;
}

.theme-toggle:hover {
    transition: all 0.3s ease;
}

/* Transições para elementos que mudam de cor */
.logo,
.heading,
.box .content h3,
.box .content p,
.box .content strong,
.admin-table th,
.admin-table td,
.footer h3,
.footer .links {
    transition: color 0.3s ease;
}

/* Transições para backgrounds */
.about,
.features,
.pricing,
.filters-section,
.faturas-container {
    transition: background-color 0.3s ease;
}

/* Transições para bordas */
.box,
.dropdown-menu,
.modal-content,
.alert,
.badge,
.filter-btn,
.fatura-item {
    transition: border-color 0.3s ease;
}

/* Transições para sombras */
.box,
.btn,
.dropdown-menu,
.modal-content,
.theme-toggle {
    transition: box-shadow 0.3s ease;
}

/* Desabilitar transições durante a mudança inicial de tema */
.theme-loading * {
    transition: none !important;
}

/* Transições específicas para modo escuro */
.dark-theme {
    transition: background-color 0.3s ease;
}

.dark-theme * {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Excluir imagens, ícones e elementos que não devem ter transições de tamanho no modo escuro */
.dark-theme img,
.dark-theme i,
.dark-theme svg,
.dark-theme .icon,
.dark-theme .fa,
.dark-theme .icon-1,
.dark-theme .icon-2,
.dark-theme .icon-3 {
    transition: opacity 0.3s ease !important;
}

/* Transições para elementos específicos do modo escuro */
.dark-theme .theme-toggle {
    transition: all 0.3s ease;
}

.dark-theme .theme-toggle:hover {
    transition: all 0.3s ease;
}

/* Transições para elementos que mudam de cor no modo escuro */
.dark-theme .logo,
.dark-theme .heading,
.dark-theme .box .content h3,
.dark-theme .box .content p,
.dark-theme .box .content strong,
.dark-theme .admin-table th,
.dark-theme .admin-table td,
.dark-theme .footer h3,
.dark-theme .footer .links {
    transition: color 0.3s ease;
}

/* Transições para backgrounds no modo escuro */
.dark-theme .about,
.dark-theme .features,
.dark-theme .pricing,
.dark-theme .filters-section,
.dark-theme .faturas-container {
    transition: background-color 0.3s ease;
}

/* Transições para bordas no modo escuro */
.dark-theme .box,
.dark-theme .dropdown-menu,
.dark-theme .modal-content,
.dark-theme .alert,
.dark-theme .badge,
.dark-theme .filter-btn,
.dark-theme .fatura-item {
    transition: border-color 0.3s ease;
}

/* Transições para sombras no modo escuro */
.dark-theme .box,
.dark-theme .btn,
.dark-theme .dropdown-menu,
.dark-theme .modal-content,
.dark-theme .theme-toggle {
    transition: box-shadow 0.3s ease;
}
