/* NossaMusica — identidade visual unificada */
:root {
    color-scheme: light;
    --nm-page: #e4e4e7;
    --nm-surface: #ffffff;
    --nm-surface-soft: #f4f4f5;
    --nm-ink: #18181b;
    --nm-text: #27272a;
    --nm-muted: #52525b;
    --nm-line: #a1a1aa;
    --nm-accent: #ff5a00;
    --nm-radius: 24px;
}

html {
    scroll-behavior: smooth;
    background: var(--nm-page);
}

body {
    background: var(--nm-page) !important;
    color: var(--nm-ink) !important;
    font-family: "DM Sans", Inter, ui-sans-serif, system-ui,
        -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
    color: var(--nm-ink);
}

p {
    text-wrap: pretty;
}

a {
    text-underline-offset: 4px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--nm-accent) !important;
    outline-offset: 3px;
}

/* Cabeçalhos partilhados */
.site-header,
body > header,
body header.sticky {
    background: #ffffff !important;
    color: var(--nm-ink) !important;
    border-color: var(--nm-line) !important;
    box-shadow: none !important;
    backdrop-filter: none;
}

.site-header a,
body > header a,
body header.sticky a {
    color: var(--nm-text);
}

.site-header a:hover,
body > header a:hover,
body header.sticky a:hover {
    color: var(--nm-accent);
}

/* Marca */
.brand,
.brand:hover {
    color: var(--nm-ink);
}

.brand small {
    color: var(--nm-muted);
}

.brand-icon,
.brand-mark {
    background: var(--nm-ink) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.gradient-text {
    background: none !important;
    color: var(--nm-accent) !important;
    -webkit-text-fill-color: var(--nm-accent) !important;
}

/* Painéis e cartões */
.hero-panel,
.music-card,
article,
.empty-state,
.page-content {
    border-color: var(--nm-line);
}

.music-card,
article {
    background: var(--nm-surface);
    color: var(--nm-ink);
    border: 1px solid var(--nm-line);
    border-radius: var(--nm-radius);
    box-shadow: none;
}

.music-card:hover,
article:hover {
    border-color: #52525b;
}

.music-card h2,
.music-card h3,
.music-card h4,
article h2,
article h3 {
    color: var(--nm-ink) !important;
}

.hero-panel {
    background: linear-gradient(135deg, #ffffff, #e4e4e7);
    border: 1px solid var(--nm-line);
    color: var(--nm-ink);
}

.hero-panel h1,
.hero-panel h2,
.hero-panel h3 {
    color: var(--nm-ink);
}

.category-pill {
    background: #d4d4d8;
    color: var(--nm-ink);
    border: 1px solid var(--nm-line);
}

.category-pill:hover {
    background: #c4c4cc;
    color: #09090b;
}

/* Textos secundários: legíveis em fundos claros */
.section-muted,
.text-slate-300,
.text-slate-400,
.text-slate-500,
.text-slate-600,
.text-gray-400,
.text-gray-500 {
    color: var(--nm-muted) !important;
}

/* Notícias: substituir o antigo visual roxo/rosa escuro */
body.min-h-screen,
body.min-h-screen.bg-\[\#090914\] {
    background: var(--nm-page) !important;
    color: var(--nm-ink) !important;
}

body.min-h-screen main {
    color: var(--nm-ink);
}

body.min-h-screen main h1,
body.min-h-screen main h2,
body.min-h-screen main h3 {
    color: var(--nm-ink) !important;
}

body.min-h-screen main article,
body.min-h-screen main section,
body.min-h-screen main .rounded-3xl,
body.min-h-screen main .rounded-2xl {
    border-color: var(--nm-line) !important;
}

body.min-h-screen main article {
    background: var(--nm-surface) !important;
    box-shadow: none !important;
}

body.min-h-screen main article a,
body.min-h-screen main a {
    text-decoration-color: transparent;
}

body.min-h-screen main article a:hover,
body.min-h-screen main a:hover {
    text-decoration-color: currentColor;
}

body.min-h-screen main .text-violet-300,
body.min-h-screen main .text-pink-300,
body.min-h-screen main .text-violet-400,
body.min-h-screen main .text-pink-400 {
    color: var(--nm-accent) !important;
}

body.min-h-screen main .bg-gradient-to-r {
    background: var(--nm-ink) !important;
    color: #ffffff !important;
}

body.min-h-screen main .bg-gradient-to-r span,
body.min-h-screen main .bg-gradient-to-r .text-transparent {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.min-h-screen main .bg-gradient-to-br {
    background: #d4d4d8 !important;
    color: var(--nm-ink) !important;
}

body.min-h-screen .prose {
    color: var(--nm-text);
}

body.min-h-screen .prose p,
body.min-h-screen .prose li {
    color: var(--nm-text);
}

body.min-h-screen .prose h1,
body.min-h-screen .prose h2,
body.min-h-screen .prose h3,
body.min-h-screen .prose strong {
    color: var(--nm-ink) !important;
}

body.min-h-screen .prose a {
    color: #c2410c !important;
}

/* Formulários institucionais */
.page-hero {
    background: linear-gradient(125deg, #27272a, #3f3f46) !important;
}

.eyebrow {
    color: #ffb38a;
}

.eyebrow::before {
    background: var(--nm-accent);
}

.page-content {
    background: #ffffff;
}

.content-section p,
.form-intro,
.form-note {
    color: var(--nm-muted);
}

.field input,
.field select,
.field textarea {
    border-color: #a1a1aa;
    background: #ffffff;
    color: var(--nm-ink);
}

.field input::placeholder,
.field textarea::placeholder {
    color: #52525b;
}

.btn {
    background: var(--nm-ink);
    color: #ffffff;
    box-shadow: none;
}

.btn:hover {
    background: #3f3f46;
    color: #ffffff;
    box-shadow: none;
}

/* Rodapés com o mesmo acabamento */
.site-footer,
body > footer {
    background: #d4d4d8 !important;
    color: var(--nm-text) !important;
    border-color: var(--nm-line) !important;
}

.site-footer a,
body > footer a {
    color: var(--nm-text);
}

.site-footer a:hover,
body > footer a:hover {
    color: #c2410c;
}

/* Pesquisa */
.search-box {
    background: #ffffff;
    border: 1px solid #71717a;
    color: var(--nm-ink);
}

.search-box::placeholder {
    color: var(--nm-muted);
    opacity: 1;
}

/* Manter os downloads verdes */
a[class*="download"],
button[class*="download"],
.btn-download,
.download-button {
    background-color: #15803d;
    color: #ffffff;
}

/* Imagens sem sombras exageradas */
img {
    max-width: 100%;
}

@media (max-width: 640px) {
    .page-shell {
        width: min(100% - 24px, 920px);
        margin-top: 24px;
    }

    body.min-h-screen main {
        padding-top: 28px;
        padding-bottom: 36px;
    }
}

/* NossaMusica — contraste acessível na página de detalhes dos eventos */
body.nm-event-detail {
    background: #f4f4f5 !important;
    color: #18181b !important;
    color-scheme: light;
}

body.nm-event-detail header {
    background: #ffffff !important;
    color: #18181b !important;
    border-color: #d4d4d8 !important;
    box-shadow: 0 2px 10px rgb(0 0 0 / 4%);
}

body.nm-event-detail header a:not(.bg-gradient-to-r) {
    color: #27272a !important;
}

body.nm-event-detail main,
body.nm-event-detail main section,
body.nm-event-detail main h1,
body.nm-event-detail main h2,
body.nm-event-detail main h3,
body.nm-event-detail main strong,
body.nm-event-detail main span,
body.nm-event-detail main p,
body.nm-event-detail main div {
    color: #18181b;
}

body.nm-event-detail main article,
body.nm-event-detail main .bg-white,
body.nm-event-detail main .rounded-2xl,
body.nm-event-detail main .rounded-3xl {
    border-color: #d4d4d8;
}

body.nm-event-detail main .text-white,
body.nm-event-detail main .text-slate-300,
body.nm-event-detail main .text-slate-400,
body.nm-event-detail main .text-slate-500,
body.nm-event-detail main .text-gray-300,
body.nm-event-detail main .text-gray-400,
body.nm-event-detail main .text-gray-500 {
    color: #3f3f46 !important;
}

/* Preservar texto branco apenas nos botões com fundo colorido */
body.nm-event-detail a.bg-gradient-to-r,
body.nm-event-detail a.bg-gradient-to-r *,
body.nm-event-detail a.bg-violet-600,
body.nm-event-detail a.bg-violet-600 * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.nm-event-detail footer {
    color: #52525b !important;
    border-color: #d4d4d8 !important;
}

body.nm-event-detail footer a {
    color: #27272a !important;
}

body.nm-event-detail a:focus-visible {
    outline: 3px solid #c2410c !important;
    outline-offset: 3px;
}

/* NossaMusica — contraste acessível na página de detalhes dos eventos */
body.nm-event-detail {
    background: #f4f4f5 !important;
    color: #18181b !important;
    color-scheme: light;
}

body.nm-event-detail header {
    background: #ffffff !important;
    color: #18181b !important;
    border-color: #d4d4d8 !important;
    box-shadow: 0 2px 10px rgb(0 0 0 / 4%);
}

body.nm-event-detail header a:not(.bg-gradient-to-r) {
    color: #27272a !important;
}

body.nm-event-detail main,
body.nm-event-detail main section,
body.nm-event-detail main h1,
body.nm-event-detail main h2,
body.nm-event-detail main h3,
body.nm-event-detail main strong,
body.nm-event-detail main span,
body.nm-event-detail main p,
body.nm-event-detail main div {
    color: #18181b;
}

body.nm-event-detail main article,
body.nm-event-detail main .bg-white,
body.nm-event-detail main .rounded-2xl,
body.nm-event-detail main .rounded-3xl {
    border-color: #d4d4d8;
}

body.nm-event-detail main .text-white,
body.nm-event-detail main .text-slate-300,
body.nm-event-detail main .text-slate-400,
body.nm-event-detail main .text-slate-500,
body.nm-event-detail main .text-gray-300,
body.nm-event-detail main .text-gray-400,
body.nm-event-detail main .text-gray-500 {
    color: #3f3f46 !important;
}

/* Preservar texto branco apenas nos botões com fundo colorido */
body.nm-event-detail a.bg-gradient-to-r,
body.nm-event-detail a.bg-gradient-to-r *,
body.nm-event-detail a.bg-violet-600,
body.nm-event-detail a.bg-violet-600 * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.nm-event-detail footer {
    color: #52525b !important;
    border-color: #d4d4d8 !important;
}

body.nm-event-detail footer a {
    color: #27272a !important;
}

body.nm-event-detail a:focus-visible {
    outline: 3px solid #c2410c !important;
    outline-offset: 3px;
}
