body {
    margin: 0;
    font-family: Arial, sans-serif;
    background-color: #1c1c1c;
    color: white;
}

.container {
    display: flex;
    min-height: 100vh;
    flex-direction: row;
}

.sidebar {
    width: 260px;
    background-color: #111;
    padding: 20px;
    flex-shrink: 0;
}

.profile {
    text-align: center;
    margin-bottom: 30px;
}

.avatar {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #333;
    object-fit: cover;
    border: 2px solid #f50057; /* Adiciona uma borda para destaque */
}

.menu {
    list-style: none;
    padding: 0;
}

.menu li {
    padding: 12px;
    cursor: pointer;
    border-radius: 6px;
    transition: background 0.3s;
}

.menu li:hover,
.menu li.active {
    background-color: #f50057;
}

.main {
    flex-grow: 1;
    padding: 40px;
    background-color: #2b2b2b;
    overflow-y: auto;
}

.main h1 {
    margin-bottom: 20px;
}

form {
    display: flex;
    flex-direction: column;
    gap: 15px; /* Ajuste o gap para acomodar as mensagens de erro, se necessário */
    max-width: 500px;
    margin: 0 auto;
}

/* Adiciona um pouco de margem inferior aos inputs para a mensagem de erro */
form input:not([type="checkbox"]):not([type="file"]),
form select {
    margin-bottom: 5px; /* Para dar espaço ao span de erro */
}


input,
select {
    padding: 14px;
    font-size: 16px;
    border: none;
    border-radius: 6px;
    background-color: #444;
    color: white;
}

/* Estilo para o label da data de nascimento */
.input-label {
    display: block; /* Garante que o label ocupe sua própria linha */
    color: #ccc; /* Cor um pouco mais clara para labels */
    font-size: 0.9em;
    margin-bottom: 5px; /* Espaçamento entre o label e o input */
}

button {
    padding: 14px;
    background-color: #f50057;
    color: white;
    border: none;
    border-radius: 6px;
    font-weight: bold;
    font-size: 16px;
    cursor: pointer;
}

button:hover {
    background-color: #c2185b;
}

/* Estilos para mensagens de erro */
.error-message {
    color: #ff4d4f; /* Vermelho claro para erros */
    font-size: 0.85em;
    margin-top: -10px; /* Puxa para cima para ficar mais próximo do campo */
    margin-bottom: 10px; /* Adiciona espaço para o próximo elemento */
    display: block; /* Garante que o span ocupe sua própria linha */
    text-align: left; /* Alinha o texto à esquerda */
}

/* Estilos para mensagens de sucesso (opcional, para feedback de salvamento) */
.success-message {
    color: #4CAF50; /* Verde para sucesso */
    font-size: 0.9em;
    margin-top: 10px;
    text-align: center;
    display: block;
}

/* Estilos específicos para os novos botões */
.btn-delete {
    background-color: #dc3545; /* Vermelho para exclusão */
}

.btn-delete:hover {
    background-color: #c82333;
}

.btn-logout {
    background-color: #6c757d; /* Cinza para sair */
}

.btn-logout:hover {
    background-color: #5a6268;
}

/* Removidos estilos de .config, .movies-grid, .community-links */
/* Removidos estilos de .profile-photo-upload, .avatar-preview, .upload-button */

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

/* Responsivo */
@media (max-width: 768px) {
    .container {
        flex-direction: column;
    }

    .sidebar {
        width: 100%;
        display: flex;
        flex-direction: row;
        overflow-x: auto;
        justify-content: space-around;
        padding-bottom: 0; /* Remove padding para otimizar espaço */
    }

    .profile {
        display: none; /* Esconde o avatar e nome na sidebar em mobile, pode ser ajustado */
    }

    .menu {
        display: flex;
        flex-direction: row;
        gap: 10px;
        flex-wrap: nowrap; /* Impede que os itens quebrem linha */
        padding: 10px 0;
        border-top: 1px solid #333;
    }

    .menu li {
        flex: 1;
        text-align: center;
        padding: 8px;
        font-size: 0.9em;
        min-width: fit-content; /* Garante que o texto não seja cortado */
    }

    .main {
        padding: 20px;
    }
}