/* Layout público com tokens comuns e leitura confortável nos dois temas. */
body { margin: 0; }
.mr-theme.public-page { min-height: 100vh; background: var(--mr-bg); color: var(--mr-text); }
.public-header, .public-main, .public-footer { max-width: 960px; margin: auto; padding: 28px 24px; box-sizing: border-box; }
.public-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--mr-border); }
.public-logo { width: 200px; height: auto; }
[data-theme="claro"] .public-logo { filter: brightness(0.35); }
.public-controls, .public-controls nav, .public-footer nav { display: flex; flex-wrap: wrap; gap: 8px; }
.public-main { max-width: 800px; padding-top: 48px; padding-bottom: 56px; }
.public-main h1 { font-size: clamp(28px, 4vw, 40px); line-height: 1.2; letter-spacing: -0.025em; }
.public-main p { line-height: 1.8; color: var(--mr-text-2); overflow-wrap: anywhere; }
.mr-theme .public-main a:not(.btn), .mr-theme .public-footer a { color: var(--mr-accent-text); text-decoration: underline; }
.public-card { margin-top: 36px; padding: 24px; border: 1px solid var(--mr-border); border-radius: var(--mr-radius-lg); background: var(--mr-surface); }
.public-card form { display: grid; gap: 20px; }
.public-card textarea { resize: vertical; }
.public-card code { overflow-wrap: anywhere; }
.public-card [role="status"] { margin-top: 20px; line-height: 1.6; }
.public-footer { border-top: 1px solid var(--mr-border); color: var(--mr-text-3); font-size: 14px; }
.public-footer a { display: inline-flex; align-items: center; min-height: 44px; margin-right: 16px; }
.public-footer p { line-height: 1.6; }
.public-card dt { font-weight: 600; margin-top: 16px; }
.public-card dd { margin: 4px 0 0; line-height: 1.6; }
@media (max-width: 600px) {
  .public-header { flex-direction: column; align-items: flex-start; }
  .public-controls { gap: 12px; }
  .public-main { padding-top: 24px; }
  .public-card { padding: 20px 16px; }
}

.cookie-consent { position: fixed; z-index: 1000; inset: auto 1rem 1rem; max-width: 56rem; margin-inline: auto; padding: 1rem; border: 1px solid var(--mr-border, #64748b); border-radius: 1rem; color: var(--mr-text, #f8fafc); background: var(--mr-surface-solid, #111827); box-shadow: 0 1rem 3rem #0008; }
.cookie-consent[hidden] { display: none; }
.cookie-consent label { display: block; margin-block: .6rem; }
.cookie-consent input { accent-color: var(--mr-accent, #38bdf8); }
.cookie-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-top: .8rem; }
.cookie-actions button, .cookie-actions a { min-height: 2.75rem; padding: .6rem .9rem; border: 1px solid currentColor; border-radius: .6rem; color: inherit; background: transparent; font: inherit; cursor: pointer; }
