/* PALOMAI 3.4.2 — contraste consistente com paletas e tema Bootstrap 5.3. */
/* Fundo sólido: texto calculado pela luminância do fundo, inclusive em paletas personalizadas. */
html[data-bs-theme="light"] body.pm-public-page .pm33-hero.pmx-background--solid,
html[data-bs-theme="light"] body.pm-public-page .pm33-hero.pmx-background--solid h1,
html[data-bs-theme="light"] body.pm-public-page .pm33-hero.pmx-background--solid .lead,
html[data-bs-theme="light"] body.pm-public-page .pm33-hero.pmx-background--solid .pm33-large-lead,
html[data-bs-theme="light"] body.pm-public-page .pm33-hero.pmx-background--solid .pm33-caption {color:var(--pmx-on-soft)!important}
/* Superfícies gradientes podem misturar qualquer cor customizada: escurecer os stops antes do texto branco. */
body.pm-public-page .pm33-hero.pmx-background--gradient:not(:has(>.pm34-custom-bg)),
body.pm-public-page .pm33-hero.pmx-background--animated:not(:has(>.pm34-custom-bg)){
 background-image:linear-gradient(125deg,color-mix(in srgb,var(--pmx-deep) 35%,#000),color-mix(in srgb,var(--pmx-primary) 35%,#000),color-mix(in srgb,var(--pmx-accent) 35%,#000))!important;
 color:#fff!important
}
body.pm-public-page .pm33-hero.pmx-background--animated:not(:has(>.pm34-custom-bg)){background-size:400% 400%!important}
body.pm-public-page .pm33-hero.pmx-background--image:not(:has(>.pm34-custom-bg)){
 background-image:linear-gradient(90deg,rgba(0,0,0,.79),rgba(0,0,0,.53)),var(--pmx-background-image)!important;
 color:#fff!important
}
body.pm-public-page .pm33-hero:is(.pmx-background--gradient,.pmx-background--animated,.pmx-background--image) h1,
body.pm-public-page .pm33-hero:is(.pmx-background--gradient,.pmx-background--animated,.pmx-background--image) .lead,
body.pm-public-page .pm33-hero:is(.pmx-background--gradient,.pmx-background--animated,.pmx-background--image) .pm33-large-lead,
body.pm-public-page .pm33-hero:is(.pmx-background--gradient,.pmx-background--animated,.pmx-background--image) .pm33-caption{color:#fff!important}
/* Fundo customizado permite brilho arbitrário: área de leitura escura independente do efeito. */
body.pm-public-page .pm33-hero:has(>.pm34-custom-bg)>.container{color:#fff;text-shadow:0 1px 2px #000a}
body.pm-public-page .pm33-hero:has(>.pm34-custom-bg) h1,
body.pm-public-page .pm33-hero:has(>.pm34-custom-bg) .lead,
body.pm-public-page .pm33-hero:has(>.pm34-custom-bg) .pm33-large-lead{color:#fff!important}
body.pm-public-page .pm33-hero:has(>.pm34-custom-bg)::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000b,#0003);pointer-events:none;z-index:0}
/* Área editorial usa superfícies e texto do Bootstrap de acordo com o tema ativo. */
html[data-bs-theme="dark"] body.pm-public-page .pm33-hero.pmx-background--solid:not(:has(>.pm34-custom-bg)){background:var(--bs-body-bg)!important;color:var(--bs-body-color)!important}
html[data-bs-theme="dark"] body.pm-public-page .pm33-hero.pmx-background--solid h1,
html[data-bs-theme="dark"] body.pm-public-page .pm33-hero.pmx-background--solid .lead,
html[data-bs-theme="dark"] body.pm-public-page .pm33-hero.pmx-background--solid .pm33-large-lead{color:var(--bs-body-color)!important}
body.pm-public-page .pm-brand-copy strong{color:var(--bs-emphasis-color)!important}
body.pm-public-page .pm-site-links .nav-link.active,body.pm-public-page .pm-site-links .nav-link:hover{color:var(--pmx-on-soft)!important}
body.pm-public-page .btn-primary,body.pm-public-page .btn-green,body.pm-public-page .btn-accent,body.pm-public-page .pm-header-account{color:var(--pmx-on-primary)!important}
body.pm-public-page .pmx-lab-invite{color:var(--pmx-on-deep)}
body.pm-public-page .pmx-lab-invite h2{color:var(--pmx-on-deep)}
html[data-bs-theme="dark"] body.pm-public-page .pmx-lab-challenge{background:var(--bs-body-bg);color:var(--bs-body-color);border-color:var(--bs-border-color)}
html[data-bs-theme="dark"] body.pm-public-page .pmx-lab-head h2,
html[data-bs-theme="dark"] body.pm-public-page .pmx-lab-question{color:var(--bs-body-color)}
html[data-bs-theme="dark"] body.pm-public-page .pmx-lab-feedback{background:var(--bs-tertiary-bg);color:var(--bs-body-color)}
/* Respeitar limite visual de 10px em todos os elementos adicionados. */
body.pm-public-page .pm33-hero .btn,body.pm-public-page .pm33-hero .pm33-photo{border-radius:8px!important;}
