/* ========================================
   Melhorias de Scroll e Layout
   ======================================== */

/* Garantir scroll suave */
html {
    scroll-behavior: smooth !important;
    overflow-y: scroll !important;
}

body {
    overflow-y: auto !important;
    position: relative;
}

/* Garantir que o navbar fique sempre no topo */
.navbar {
    z-index: 9999 !important;
    position: fixed !important;
    top: 0 !important;
}

/* Toaster ACIMA DE TUDO (incluindo navbar) */
.toast {
    z-index: 999999 !important;
    position: fixed !important;
}

/* Garantir que o navbar fique sempre no topo */
.navbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1000 !important;
    height: 70px !important;
}

/* Garantir que o conteúdo nunca fique atrás do header */
.main-content {
    position: relative;
    z-index: 1 !important;
    margin-top: 70px !important;
    padding-top: 2.5rem !important;
    min-height: calc(100vh - 70px) !important;
}

/* Garantir que o primeiro elemento de cada card tenha espaço do topo */
.card {
    padding-top: 2rem !important;
    margin-bottom: 2rem !important;
    margin-top: 1rem !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Primeiro card sempre visível com espaço extra */
.card:first-child,
#home,
#connect,
#message,
#contacts,
#settings,
#downloads,
#logs,
#profile {
    scroll-margin-top: 70px !important;
}

/* Garantir que h2 não fique colado no topo */
.card > h2:first-child {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Cards devem ter espaço do header */
.main-content .card {
    margin-top: 1rem !important;
}

/* Primeiro card de cada seção */
.main-content .card:first-of-type {
    margin-top: 0 !important;
}

/* Garantir que a sidebar não sobreponha o conteúdo */
.sidebar {
    z-index: 999 !important;
}

/* Scrollbar personalizada para todo o site */
::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

::-webkit-scrollbar-track {
    background: var(--bg);
    border-radius: 0;
}

::-webkit-scrollbar-thumb {
    background: var(--border);
    border-radius: 6px;
    border: 2px solid var(--bg);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--primary);
}

/* Firefox */
* {
    scrollbar-width: thin;
    scrollbar-color: var(--border) var(--bg);
}

/* Garantir que o conteúdo não fique escondido */
.main-content {
    padding-bottom: 6rem !important;
    min-height: 100vh !important;
}

.content-container {
    padding-bottom: 6rem !important;
    min-height: calc(100vh - 70px - 3rem) !important;
}

/* Garantir espaço adequado em todas as direções */
.card h2:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Garantir espaço no final de cada seção */
.card > *:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 1rem !important;
}

/* Garantir que botões no final dos cards tenham espaço */
.card .btn:last-child,
.card button:last-child {
    margin-bottom: 1rem !important;
}

/* Espaçamento para controles no final */
.downloads-controls,
.logs-controls,
.settings-controls {
    margin-bottom: 2rem !important;
}

/* Container de logs com scroll interno */
#logs-content {
    margin-bottom: 2rem !important;
}

/* Garantir visibilidade do conteúdo em mobile */
@media (max-width: 768px) {
    .main-content {
        padding-bottom: 6rem !important;
    }
    
    .content-container {
        padding-bottom: 6rem !important;
    }
}

/* Melhorar animação de fade in dos cards */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.card {
    animation: fadeIn 0.3s ease-out !important;
}

/* Garantir que o último elemento de cada card tenha espaço */
.accordion-section:last-child {
    margin-bottom: 2rem !important;
}

.downloads-grid > *:last-child,
.contacts-grid > *:last-child,
.connected-sessions-grid > *:last-child {
    margin-bottom: 1rem !important;
}

/* Garantir altura mínima para evitar cortes */
.main-content {
    min-height: 100vh !important;
}

/* Adicionar espaço extra após elementos de controle */
.card > .btn,
.card > button,
.card > .button-group,
.card > div:has(> .btn) {
    margin-bottom: 1.5rem;
}

/* Stats e contadores */
.stats-container,
.downloads-stats {
    margin-bottom: 2rem !important;
}

/* Garantir que modais não quebrem o scroll */
.modal-open {
    overflow: hidden !important;
}

.modal-open .main-content {
    overflow: visible !important;
}
