/* PORTAL USUARIO (Exibido na página de ingressos) */
.portal-usuario { 
    display: flex; 
    align-items: center; 
    gap: 12px; 
    position: relative; 
    cursor: pointer; 
    padding-right: 10px; 
    margin-right: 20px; 
}

.portal-avatar { 
    width: 40px; 
    height: 40px; 
    display: grid; 
    place-items: center; 
    color: #fff; 
    background: var(--cor-primaria); 
    border-radius: 50%; 
    font-family: 'Nunito', sans-serif; 
    font-size: 1.1rem; 
    box-shadow: 0 4px 10px rgba(0,0,0,0.15); 
}

.portal-usuario-texto { 
    text-align: left; 
}

.portal-usuario-texto strong { 
    color: var(--text-dark); 
    font-size: 0.95rem; 
    display: block; 
    line-height: 1.2; 
    font-weight: bold; 
}

.seta-dropdown { 
    color: var(--text-dark); 
    font-size: 0.8rem; 
    margin-left: 2px; 
    transition: 0.3s; 
}

.user-dropdown-menu { 
    position: absolute; 
    top: 100%; 
    right: 0; 
    margin-top: 15px; 
    background: #fff; 
    border-radius: 12px; 
    box-shadow: 0 10px 25px rgba(0,0,0,0.15); 
    width: 200px; 
    display: none; 
    flex-direction: column; 
    overflow: hidden; 
    border: 1px solid #eee; 
    z-index: 2000; 
}

.portal-usuario:hover .user-dropdown-menu { 
    display: flex; 
    animation: slideDownUser 0.2s ease-in-out; 
}

.portal-usuario:hover .seta-dropdown { 
    transform: rotate(180deg); 
}

.user-dropdown-menu a { 
    padding: 15px 20px; 
    color: var(--text-dark); 
    text-decoration: none; 
    font-weight: bold; 
    display: flex; 
    align-items: center; 
    gap: 10px; 
    transition: 0.2s; 
    position: relative; 
    z-index: 2; 
}

.user-dropdown-menu a:hover { 
    background: #f9f9f9; 
    color: var(--cor-primaria-dark); 
}

.user-dropdown-menu a i { 
    font-size: 1.1rem; 
    color: #8B4513; 
    width: 20px; 
    text-align: center; 
}

.btn-topo-sair { 
    color: #dc3545 !important; 
}

@keyframes slideDownUser { 
    from { opacity: 0; transform: translate(0, -10px); } 
    to { opacity: 1; transform: translate(0, 0); } 
}