/* Componente isolado: nenhuma alteração no fluxo da página. */
.sz-consent-banner, .sz-consent-dialog { box-sizing:border-box; color:#172b40; background:#fff; border:1px solid #c8d8e6; border-radius:8px; padding:1.25rem; font:inherit; line-height:1.5; box-shadow:0 4px 24px #172b4026; }
.sz-consent-banner { position:fixed; z-index:10000; inset:auto 1rem 1rem auto; width:calc(100% - 2rem); max-width:36rem; max-height:calc(100dvh - 2rem); overflow:auto; }
.sz-consent-banner[hidden] { display:none; }
.sz-consent-banner h2, .sz-consent-dialog h2 { margin:0 0 0.75rem; font-size:1.25rem; line-height:1.3; }
.sz-consent-dialog h3 { margin:1rem 0 0.5rem; font-size:1.05rem; }
.sz-consent-banner p, .sz-consent-dialog p { margin:0 0 0.75rem; }
.sz-consent-banner a { color:#005a9c; text-underline-offset:0.2em; }
.sz-consent-actions { display:flex; flex-wrap:wrap; gap:0.75rem; margin-top:1rem; }
.sz-consent-actions button { flex:1 1 9rem; min-height:44px; padding:0.65rem 0.8rem; border:1px solid #005a9c; border-radius:6px; background:#fff; color:#005a9c; font:inherit; font-weight:600; line-height:1.35; cursor:pointer; }
.sz-consent-actions button:hover { background:#edf5fc; }
.sz-consent-actions button:focus-visible, .sz-consent-banner a:focus-visible, .sz-consent-toggle input:focus-visible { outline:3px solid #172b40; outline-offset:3px; }
.sz-consent-dialog { width:calc(100% - 2rem); max-width:34rem; max-height:calc(100dvh - 2rem); overflow:auto; margin:auto; }
.sz-consent-dialog::backdrop { background:#172b4099; }
.sz-consent-toggle { display:flex; align-items:center; gap:0.75rem; min-height:44px; cursor:pointer; }
.sz-consent-toggle input { flex:none; width:1.35rem; height:1.35rem; accent-color:#005a9c; }
.sz-consent-status { position:fixed; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); margin:0; }
@media(max-width:25rem) { .sz-consent-banner, .sz-consent-dialog { padding:1rem; } }
