:root {
    --color-background: #faf7f2;
    --color-surface: #faf7f2;
    --color-on-surface: #1b1c1c;
    --color-on-surface-variant: #4f4632;
    --color-on-background: #1b1c1c;
    --color-primary: #765b00;
    --color-primary-container: #ffc700;
    --color-on-primary-container: #6e5400;
    --color-surface-container-low: #f3f0ea;
    --color-surface-container-lowest: rgba(255, 255, 255, 0.72);
    --color-surface-container-high: #edeae4;
    --color-outline-variant: #d2c5ab;
    --color-nav-bg: rgba(255, 255, 255, 0.72);
    --color-nav-border: rgba(255, 214, 0, 0.18);
    --color-nav-text: #1b1c1c;
    --color-nav-active: #765b00;
    --color-nav-active-border: #ffc700;
    --color-footer-text: #4f4632;
    --color-footer-border: rgba(210, 197, 171, 0.55);
    --color-modal-bg: rgba(255, 255, 255, 0.92);
}

.dark {
    --color-background: #0c1512;
    --color-surface: #0c1512;
    --color-on-surface: #dae5df;
    --color-on-surface-variant: #d0c6ab;
    --color-on-background: #dae5df;
    --color-primary: #ffd600;
    --color-primary-container: #ffd600;
    --color-on-primary-container: #3a3000;
    --color-surface-container-low: #141d1a;
    --color-surface-container-lowest: #141d1a;
    --color-surface-container-high: #222c28;
    --color-outline-variant: #4d4632;
    --color-nav-bg: rgba(20, 29, 26, 0.72);
    --color-nav-border: rgba(77, 70, 50, 0.35);
    --color-nav-text: #dae5df;
    --color-nav-active: #ffd600;
    --color-nav-active-border: #ffd600;
    --color-footer-text: #d0c6ab;
    --color-footer-border: #2d3733;
    --color-modal-bg: #222c28;
}

.nav-bar {
    background: var(--color-nav-bg);
    border-color: var(--color-nav-border);
}
.nav-brand-text { color: var(--color-nav-text); }
.nav-link { color: var(--color-nav-text); }
.nav-link-active {
    color: var(--color-nav-active) !important;
    border-color: var(--color-nav-active-border);
    opacity: 1 !important;
}
.footer-text { color: var(--color-footer-text); }
.modal-panel { background: var(--color-modal-bg); }

/* Campos dos modais — foco só com borda amarela da paleta */
.modal-panel input,
.modal-panel select,
.modal-panel textarea {
    transition: border-color 0.2s ease;
}

.modal-panel input:focus,
.modal-panel select:focus,
.modal-panel textarea:focus,
.modal-panel input:focus-visible,
.modal-panel select:focus-visible,
.modal-panel textarea:focus-visible {
    outline: none !important;
    outline-offset: 0 !important;
    border-color: var(--color-primary-container) !important;
    box-shadow: none !important;
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
}

/* Resultado do modal de reporte */
.report-result-view {
    animation: report-result-in 0.35s ease-out;
}

.report-result-icon {
    width: 5rem;
    height: 5rem;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.report-result-icon .material-symbols-outlined {
    font-size: 2.75rem;
    font-variation-settings: 'wght' 700;
}

.report-result-icon--success {
    background: rgba(255, 214, 0, 0.18);
    color: var(--color-primary-container);
    box-shadow: 0 0 0 1px rgba(255, 214, 0, 0.35);
}

.report-result-icon--error {
    background: rgba(186, 26, 26, 0.12);
    color: #e46962;
    box-shadow: 0 0 0 1px rgba(186, 26, 26, 0.25);
}

html:not(.dark) .report-result-icon--error {
    color: #ba1a1a;
}

@keyframes report-result-in {
    from {
        opacity: 0;
        transform: translateY(8px) scale(0.96);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.report-submit-btn:disabled {
    opacity: 0.7;
    cursor: wait;
}

/* Seção de contato — política de privacidade */
.privacy-contact-card {
    background: var(--color-primary-container);
    color: var(--color-on-primary-container);
    border: 1px solid color-mix(in srgb, var(--color-on-primary-container) 18%, transparent);
}

.privacy-contact-card h2,
.privacy-contact-card p,
.privacy-contact-card .material-symbols-outlined,
.privacy-contact-card span {
    color: var(--color-on-primary-container);
}

.privacy-contact-card p {
    opacity: 0.92;
}

/* Fundo atmosférico — modo claro */
html:not(.dark) body,
html:not(.dark) .page-body {
    background-color: #faf7f2;
    background-image:
        radial-gradient(ellipse 75% 55% at 88% 6%, rgba(255, 199, 0, 0.20) 0%, transparent 58%),
        radial-gradient(ellipse 60% 50% at 8% 88%, rgba(255, 223, 148, 0.24) 0%, transparent 55%),
        radial-gradient(ellipse 85% 45% at 50% 105%, rgba(255, 199, 0, 0.10) 0%, transparent 52%),
        radial-gradient(ellipse 50% 35% at 22% 28%, rgba(198, 230, 232, 0.28) 0%, transparent 60%),
        linear-gradient(168deg, #fefcf8 0%, #faf7f2 42%, #f4f1ea 100%);
    background-attachment: fixed;
}

/* Fundo atmosférico — modo escuro */
.dark body,
.dark .page-body {
    background-color: #0c1512;
    background-image:
        radial-gradient(ellipse 75% 55% at 88% 6%, rgba(255, 214, 0, 0.16) 0%, transparent 58%),
        radial-gradient(ellipse 60% 50% at 8% 88%, rgba(255, 225, 112, 0.10) 0%, transparent 55%),
        radial-gradient(ellipse 85% 45% at 50% 105%, rgba(255, 199, 0, 0.07) 0%, transparent 52%),
        radial-gradient(ellipse 50% 35% at 20% 25%, rgba(53, 79, 64, 0.28) 0%, transparent 60%),
        linear-gradient(168deg, #121c18 0%, #0c1512 42%, #101916 100%);
    background-attachment: fixed;
}

.page-atmosphere {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}

.page-atmosphere__orb {
    position: absolute;
    border-radius: 9999px;
}

html:not(.dark) .page-atmosphere__orb {
    filter: blur(100px);
}

html:not(.dark) .page-atmosphere__orb--gold-tr {
    top: 6%;
    right: -5rem;
    width: 26rem;
    height: 26rem;
    background: rgba(255, 199, 0, 0.22);
}

html:not(.dark) .page-atmosphere__orb--gold-bl {
    bottom: 10%;
    left: -4rem;
    width: 20rem;
    height: 20rem;
    background: rgba(255, 223, 148, 0.28);
}

html:not(.dark) .page-atmosphere__orb--gold-center {
    top: 40%;
    left: 50%;
    width: 34rem;
    height: 16rem;
    transform: translateX(-50%);
    background: rgba(255, 199, 0, 0.12);
    filter: blur(120px);
}

.dark .page-atmosphere__orb {
    filter: blur(120px);
}

.dark .page-atmosphere__orb--gold-tr {
    top: 8%;
    right: -6rem;
    width: 28rem;
    height: 28rem;
    background: rgba(255, 214, 0, 0.14);
}

.dark .page-atmosphere__orb--gold-bl {
    bottom: 12%;
    left: -5rem;
    width: 22rem;
    height: 22rem;
    background: rgba(255, 225, 112, 0.10);
}

.dark .page-atmosphere__orb--gold-center {
    top: 42%;
    left: 50%;
    width: 36rem;
    height: 18rem;
    transform: translateX(-50%);
    background: rgba(255, 214, 0, 0.06);
    filter: blur(140px);
}

.section-transparent {
    background: transparent !important;
}

html:not(.dark) .cta-panel {
    background: rgba(255, 255, 255, 0.74);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-color: rgba(255, 199, 0, 0.22);
    box-shadow: 0 24px 64px rgba(118, 91, 0, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

html:not(.dark) .footer-surface {
    background: rgba(255, 255, 255, 0.62);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.dark .section-surface {
    background: rgba(20, 29, 26, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.dark .section-transparent {
    background: transparent !important;
}

.dark .cta-panel {
    background: rgba(20, 29, 26, 0.72);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-color: rgba(255, 214, 0, 0.14);
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 214, 0, 0.06);
}

.dark .footer-surface {
    background: rgba(20, 29, 26, 0.65);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
