/* Fontes sugeridas para espiritualidade */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Lato:wght@300;400;700&display=swap');
/* Para impressão real */
@media print {
        body {
                -webkit-print-color-adjust: exact;
                print-color-adjust: exact;
        }

        .container {
                max-width: 100%;
                margin: 0;
                padding: 0;
        }
}
:root {
        /* --bs-body-bg: #f3f3f3; */
        /* Altera a cor de fundo da página */
        /* Altera a cor padrão do texto */
        /* --bs-dark-rgb: rgb(56, 34, 13); */
        /* --bs-light-rgb: rgb(255, 251, 234); */
        --bs-gold-300: rgb(234, 213, 122);
        --bs-gold-400: rgb(224, 189, 72);
        --bs-gold-500: rgb(212, 160, 40);
        --bs-gold-600: rgb(184, 134, 11);
        --bs-gold-700: rgb(153, 111, 10);
        --bs-gold-800: rgb(125, 90, 11);
        --bs-gold-900: rgb(102, 73, 13);
        --bs-gold-950: rgb(61, 41, 5);
        --bs-gold-999: rgb(26, 20, 3);
        --bs-earth: rgb(139, 90, 43);
        --bs-gray-50: rgb(249, 250, 251);
        --bs-gray-900: rgb(17, 24, 39);
        --bs-white: rgb(255, 255, 255);
        /* --bs-text-dark: rgb(56, 34, 13); */
        /* --bs-table-dark-bg: rgb(56, 34, 13); */
}
.bg-gold-50 {
        background-color: '#fdfcf0';
        /* Fundo muito claro*/
}

.bg-gold-100 {
        background-color: '#f9f4d8';
}

.bg-gold-200 {
        background-color: '#f3e7ad';
}

.bg-gold-300 {
        background-color: '#ead57a';
}

.bg-gold-400 {
        background-color: '#e0bd48';
}

.bg-gold-500 {
        background-color: '#d4a028';
        /* Cor principal (Ouro vivo)*/
}

.bg-gold-600 {
        background-color: '#b8860b';
        /* Dourado escuro (para hover/texto)*/
}

.bg-gold-700 {
        background-color: '#996f0a';
}

.bg-gold-800 {
        background-color: '#7d5a0b';
}

.bg-gold-900 {
        background-color: '#66490d';
}

.bg-gold-950 {
        background-color: '#3d2905';
}

.bg-gold-999 {
        background-color: '#1a1403';
}

.bg-dark {
        background-color: '#2C2C2C';
}

.bg-earth {
        background-color: '#8B5A2B';
        /* Marrom terra */
}

.bg-gray-50 {
        background-color: '#f9fafb';
}

.bg-gray-900 {
        background-color: '#111827';
}

.bg-white {
        background-color: #fff;
}

.border-gray-100 {
        border-color: rgb(243 244 246);
}

/* ------------- text colours ---------------- */
.txt-gold-50 {
        color: '#fdfcf0';
        /* Fundo muito claro*/
}

.txt-gold-100 {
        color: '#f9f4d8';
}

.txt-gold-200 {
        color: '#f3e7ad';
}

.txt-gold-300 {
        color: '#ead57a';
}

.txt-gold-400 {
        color: '#e0bd48';
}

.txt-gold-500 {
        color: '#d4a028';
        /* Cor principal (Ouro vivo)*/
}

.txt-gold-600 {
        color: '#b8860b';
        /* Dourado escuro (para hover/texto)*/
}

.txt-gold-700 {
        color: '#996f0a';
}

.txt-gold-800 {
        color: '#7d5a0b';
}

.txt-gold-900 {
        color: '#66490d';
}

.txt-gold-950 {
        color: '#3d2905';
}

.txt-gold-999 {
        color: '#1a1403';
}

.txt-dark {
        color: '#2C2C2C';
}

.txt-earth {
        color: '#8B5A2B';
        /* Marrom terra */
}

.txt-gray-50 {
        color: '#f9fafb';
}

.txt-gray-900 {
        color: '#111827';
}

.text-white {
        color: rgb(255 255 255);
}

/* .text-dark {
        opacity: 1 !important;
        color: #3d2905 !important;
}
 */
/* .bg-dark {
        color: #fdfcf0 !important;
        background-color: #3d2905 !important;
        --bs-bg-opacity: 1 !important;
        opacity: 1 !important;
} */

/* .bg-light {
        background-color: #fdfcf0 !important;
        --bs-bg-opacity: 1 !important;
        opacity: 1 !important;
} */

.container {
        width: 100%;
        max-width: auto;
        margin: 0 auto;
        padding: 20px;
        box-sizing: border-box;
        background-color: #fdfcf0!important;
}

/* Corpo do Documento */
.content-section {
        margin-bottom: 25px;
}

form {
        margin: 0;
}

.form-label,
.card-header,
.card-title {
        font-weight: bold;
}

.form-card {
        background: var(--bs-body-bg);
        border-radius: 10px;
        box-shadow: 0 0.15rem 1.75rem 0 rgba(58, 59, 69, 0.15);
        padding: 2rem;
}

/* Ajuste para o CKEditor para não ficar muito pequeno */
.django_ckeditor_5 {
        min-height: 250px;
        background-color: #fff;
}

/* Remove o background padrão para ficar mais limpo */
input[type="date"],
input[type="text"],
input[type="email"],
input[type="radio"],
input[type="checkbox"] {
        background: #ffffff !important;
        border: 1px solid rgba(58, 59, 69, 0.15);
        border-radius: 4px;
        padding: 0.375rem 0.75rem;
}

.form-select {
        appearance: auto;
        /* Força o navegador a mostrar a seta padrão */
        -webkit-appearance: menulist;
        /* Correção para Safari/Chrome */
        background: #ffffff !important;
        border: 1px solid rgba(58, 59, 69, 0.15);
        border-radius: 4px;
        padding: 0.375rem 0.75rem;
}

.boolean-select {
        appearance: auto;
        /* Força o navegador a mostrar a seta padrão */
        -webkit-appearance: menulist;
        /* Correção para Safari/Chrome */
        background: #ffffff !important;
        border: 1px solid rgba(58, 59, 69, 0.15);
        border-radius: 4px;
        padding: 0.375rem 0.75rem;
}

.textarea {
        background: #ffffff !important;
        border: 1px solid rgba(58, 59, 69, 0.15);
        border-radius: 4px;
        padding: 0.375rem 0.75rem;
}

.textarea:disabled,
.textarea[readonly] {
        background-color: var(--bs-body-bg) !important;
}

.label {
        font-weight: bold;
}

/* Aplica o fundo castanho escuro e texto branco ao cabeçalho da tabela */
/* table thead th,
.table-dark thead th {
        background-color: #3d2905 !important;
        color: #fff !important;
} */

.data-table {
        width: 100%;
        border-collapse: collapse;
        margin: 1px 0;
}

.data-table tr {
        border: none;
}

.data-table td {
        padding: 3px 0;
        vertical-align: top;
        border: none;
}

.data-table .col-label {
        width: 15%;
        font-weight: bold;
        color: #555;
        padding: 3px;
        text-align: right;
}

.data-table .col-value {
        width: 85%;
        padding: 3px;
}

.section-title {
        font-size: 1.25rem;
        font-weight: 700;
        color: #3d2905;
        border-bottom: 2px solid #f3e7ad;
        padding-bottom: 0.5rem;
        margin-bottom: 1.5rem;
        margin-top: 2rem;
}

.section-title:first-child {
        margin-top: 0;
}

/* Detalhes da Sessão */
.session-box {
        background-color: #3d2905;
        /* background-color: #f9f4d8; */
        /* Fundo Dourado Claro */
        padding: 9px;
        border-radius: 4px;
        border: 1px solid #d4a028;
        border-collapse: collapse;
        margin: 0 0;
}

/* Utilitários */
.text-right {
        text-align: right;
}

.text-center {
        text-align: center;
}

.uppercase {
        text-transform: uppercase;
}

.small {
        font-size: 9pt;
}


.sidebar {
    min-height: 100vh;
    background: var(--bs-dark-rgb);
    color: white;
    transition: all 0.3s;
}

.sidebar .nav-link {
    color: #ffffff;
    padding: 12px 20px;
    border-left: 3px solid transparent;
}

.sidebar .nav-link:hover,
.sidebar .nav-link.active {
--bs-bg-opacity: 1;
    background: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
--bs-text-opacity: 1;
    color: rgba(255, 255, 255, 0.678) !important;
    border-left-color: #f3e7ad;
}

.sidebar .brand {
    font-size: 1.2rem;
    font-weight: bold;
    padding: 20px;
    background: var(--bs-dark-rgb);
    text-align: center;
    /* border-bottom: 1px solid #f3e7ad; */
}
.dropdown-menu-dark {
        color: rgba(255, 255, 255, 0.678) !important;
        background: --bs-dark-rgb !important;
}
.main-content {
    padding: 20px;
}

.card-header-custom {
    background: #fff;
    border-bottom: 1px solid #eee;
    padding: 15px;
}

.btn-action {
    font-size: 0.85rem;
}

/* Garante que o corpo da página ocupa a altura total sem criar barras de scroll globais erradas */
body {
        font-family: Lato, 'Segoe UI', sans-serif, Tahoma, Geneva, Verdana;
        /* background-color: var(--bs-body-bg);
        color: var(--bs-body-color); */
        margin: 0;
        padding: 0;
        height: 100vh;
        overflow-x: hidden;
}

/* Transforma o conteúdo principal num bloco de scroll independente */
.main-content {
        height: 100vh;
        overflow-y: auto;
        padding: 20px;
        /* Dá um espaçamento agradável nas laterais do conteúdo */
}
.bg-danger {
        --bs-bg-opacity: 1;
        background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
}
.text-white-50 {
        --bs-text-opacity: 1;
        color: rgba(255, 255, 255, 0.678) !important;
}