/* A bounded overlay; native dialog keeps the underlying page inert. */
.consent-dialog{box-sizing:border-box;border:1px solid var(--color-border);border-radius:12px;padding:0;width:min(34rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));color:var(--color-text);background:var(--color-surface);box-shadow:0 20px 70px #15263c40;overflow:auto;overscroll-behavior:contain}
.consent-dialog::backdrop{background:#15263c99}
.consent-panel{padding:clamp(1.25rem,4vw,2rem)}
.consent-dialog h2{font-size:clamp(1.4rem,4vw,1.8rem);line-height:1.25;margin:0 2rem 1rem 0}
.consent-dialog p{font-size:1rem;line-height:1.55;margin:0 0 1rem}
.consent-close{position:absolute;right:.5rem;top:.5rem;min-width:44px;min-height:44px;padding:.25rem;border:0;background:transparent;color:var(--color-text);font-size:1.8rem;line-height:1}
.consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.consent-actions button{min-height:48px;padding:.75rem;border:2px solid var(--color-brand);border-radius:4px;background:var(--color-brand);color:white;font:inherit;font-weight:700;cursor:pointer}
.consent-actions button:hover{background:var(--color-brand-dark);border-color:var(--color-brand-dark)}
.consent-actions button:disabled{opacity:.65;cursor:wait}
.consent-dialog .consent-status{font-size:.875rem;color:var(--color-muted)}
.consent-dialog .consent-more{margin:1rem 0 0;font-size:.875rem}
.consent-launcher{padding:0;border:0;background:transparent;color:inherit;text-decoration:underline;font:inherit;cursor:pointer;min-height:44px}
.consent-dialog :focus-visible,.consent-launcher:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
@media(max-width:350px){.consent-actions{grid-template-columns:1fr}}
