/* Shared overlay component; separate from page/module design CSS. */
html.blp-legal-lock { overflow: hidden; }
#blp-legal-dialog { box-sizing: border-box; width: min(860px, calc(100% - 32px)); max-height: 88vh; max-height: 88dvh; margin: auto; padding: 0; border: 0; border-radius: 8px; background: #e4e8e9; color: #0e2f44; box-shadow: 0 20px 80px #0007; text-align: left; }
#blp-legal-dialog:not([open]) { display: none; }
#blp-legal-dialog::backdrop { background: #071d2bce; }
/* Sticky actions remain visible while reading a long notice. */
#blp-legal-dialog .blp-legal-toolbar { position: sticky; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 24px; background: #0e2f44; z-index: 1; }
#blp-legal-dialog .blp-legal-toolbar a { color: white; font-size: 14px; }
#blp-legal-dialog .blp-legal-close { min-height: 44px; padding: 8px 16px; background: #ddff00; color: #0e2f44; border: 0; border-radius: 3px; cursor: pointer; font: inherit; }
#blp-legal-dialog .blp-legal-document { padding: 24px 32px 40px; font: 400 16px/1.7 Arial, sans-serif; }
#blp-legal-dialog h1 { font-size: clamp(25px, 5vw, 34px); line-height: 1.2; color: inherit; }
#blp-legal-dialog h2 { font-size: 24px; margin-top: 32px; color: inherit; }
#blp-legal-dialog h3 { font-size: 19px; margin-top: 24px; color: inherit; }
#blp-legal-dialog p { margin: 0 0 16px; overflow-wrap: anywhere; }
#blp-legal-dialog .blp-legal-document a { color: #07546c; text-decoration: underline; }
#blp-legal-dialog :focus-visible { outline: 3px solid #5181ad; outline-offset: 3px; }
@media (max-width: 600px) { #blp-legal-dialog .blp-legal-document { padding: 20px; } #blp-legal-dialog .blp-legal-toolbar { padding: 10px 16px; } }

/* Same-page fallback stays readable if scripting is disabled. */
.blp-legal-inline { text-align: left; margin: 16px auto; max-width: 800px; }
.blp-legal-inline[hidden] { display: none !important; }
.blp-legal-inline summary { cursor: pointer; text-align: center; }
.blp-legal-inline .blp-legal-document { font: 400 16px/1.7 Arial, sans-serif; padding: 20px; }
#blp-legal-dialog .blp-legal-toolbar { color: white; }
#blp-legal-dialog #blp-legal-title { font-size: clamp(25px, 5vw, 34px); line-height: 1.2; margin-top: 0; }
/* Do not add a visible policy-summary line to the supplied page design.
 * Existing footer/checkbox links reveal the fallback if JavaScript is unavailable. */
.blp-legal-inline:not(:target) { display:none; }
.fl-builder-edit .blp-legal-inline { display:block; }
