@import url('https://fonts.googleapis.com/css2?family=MedievalSharp&display=swap');

body {
    background-color: #ecf0f1;
}

.navbar-dark .navbar-brand,
.navbar-dark .navbar-nav .nav-link {
    color: #ecf0f1;
}

.navbar-dark .navbar-brand:hover,
.navbar-dark .navbar-nav .nav-link:hover {
    color: #3498db;
}

.navbar {
    background-color: #2c3e50 !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'MedievalSharp', cursive;
    color: #2c3e50;
}

.list-group-item-action:hover {
    background-color: #3498db;
    color: #fff;
}

.accordion-button {
    background-color: #3498db;
    color: #fff;
}

.accordion-button:not(.collapsed) {
    background-color: #2980b9;
    color: #fff;
}

.blockquote {
    border-left: 5px solid #3498db;
    padding-left: 15px;
}

.font-weight-bold {
    font-weight: bold;
}

/* Quadros de código estilo escola */
.code-school-box {
    background-color: #f8fff8 !important;
    border-color: #198754 !important;
    border-width: 2px !important;
}

.code-school-pre {
    background-color: transparent !important;
    border: none !important;
    margin: 0 !important;
}

.code-school-header {
    color: #198754 !important;
    font-weight: bold !important;
}

/* Convite Python Training */
.python-training-invite {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border: none;
    border-radius: 15px;
}

.python-training-invite ul {
    font-size: 1.1rem;
}

.python-training-btn {
    font-size: 1.3rem;
    font-weight: 700;
    border-radius: 50px;
}

/* Selo Acesso Premium Ativo (licenca.js — status SOBERANO) */
.reino-seal-premium {
    color: #d4af37 !important;
    font-weight: 700;
    text-shadow: 0 0 8px rgba(212, 175, 55, 0.5);
}
.navbar .reino-seal-premium {
    padding: 0.35rem 0.5rem;
    font-size: 0.85rem;
}

/* Título do usuário no portal: Aventureira -> Soberana (glow roxo e dourado) */
.reino-user-title {
    color: rgba(255,255,255,0.9);
    font-size: 0.9rem;
}
.reino-user-title-soberana {
    color: #d4af37 !important;
    text-shadow: 0 0 10px rgba(212, 175, 55, 0.8), 0 0 20px rgba(138, 43, 226, 0.5);
}

/* Bloqueio Premium: grayscale + ícone de cadeado de ferro (licenca.js) */
.locked-feature {
    filter: grayscale(1);
    position: relative;
}
.locked-feature::before {
    content: '\1F512';
    position: absolute;
    top: 8px;
    right: 8px;
    left: auto;
    font-size: 1.25rem;
    opacity: 0.9;
    pointer-events: none;
    z-index: 1;
}
body.reino-premium-active .locked-feature,
.reino-soberano .locked-feature {
    filter: none;
}
body.reino-premium-active .locked-feature::before,
.reino-soberano .locked-feature::before {
    display: none;
}

/* Fallback gótico quando imagem falha ao carregar (Reino OIDC) — licenca.js aplica .reino-img-fallback via onerror */
img.reino-img-fallback {
    min-height: 120px;
    background: linear-gradient(135deg, #2e0854 0%, #3d3530 50%, #2d2520 100%);
    border: 2px solid #5a4a42;
    box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.4);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect fill='%232e0854' width='64' height='64'/%3E%3Ctext x='32' y='36' dominant-baseline='middle' text-anchor='middle' fill='%239a8f85' font-size='24'%3E🖼%3C/text%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 64px 64px;
}