/* Global Layout Styles */
/* Fundo único do site inteiro (mesma arte usada na home), com um véu azul
   escuro (em vez do antigo tom marrom) para manter o texto legível por cima. */
body.dark-fantasy-theme {
    background-image:
        radial-gradient(circle at center, rgba(15, 26, 46, 0.55) 0%, rgba(6, 11, 22, 0.88) 100%),
        url('/background-home.png');
    background-repeat: no-repeat, no-repeat;
    background-size: cover, cover;
    background-attachment: fixed, fixed;
    background-position: center, center top;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
}

.main-content {
    flex: 1;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 100px 20px 60px 20px; /* Padding top is higher to clear fixed navbar */
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--color-bg-deep);
}

::-webkit-scrollbar-thumb {
    background: var(--color-border);
    border-radius: var(--border-radius);
    border: 1px solid var(--color-bg-deep);
}

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

/* Alert Boxes */
.alert {
    padding: 15px 20px;
    border-radius: var(--border-radius);
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    margin-bottom: 20px;
}

.alert-danger {
    background: rgba(178, 34, 34, 0.15);
    border: 1px solid var(--color-danger);
    color: #ff8888;
}

.alert-success {
    background: rgba(46, 125, 50, 0.15);
    border: 1px solid var(--color-success);
    color: #81c784;
}

.alert i {
    font-size: 16px;
}
