/* Blitzsuche legal documents, scoped to avoid interfering with panel/auth UI. */
.bl-legal-modal[hidden], .bl-legal-modal [hidden] { display: none !important; }
.bl-legal-consent { min-width: 0; margin: 4px 0 8px; }
.bl-legal-agreement-line { display:flex; gap:11px; align-items:flex-start; }
.bl-legal-agreement-line input[type="checkbox"] { appearance:auto; width:17px; height:17px; flex:0 0 17px; margin:3px 0 0; accent-color:#3369ed; cursor:pointer; }
.bl-legal-agreement-line label { min-width:0; display:block; line-height:1.55; font-size:13px; color:#34435b; cursor:pointer; margin:0; }
.bl-legal-consent a { font-weight:650; color:#235fe9; text-decoration:underline; text-underline-offset:3px; }
.bl-legal-consent a:hover { color:#153c99; }
.bl-legal-privacy-line { color:#708097; font-size:12px; line-height:1.6; margin:7px 0 0 28px; }
.bl-legal-consent :focus-visible, .bl-legal-modal :focus-visible, .bl-legal-page :focus-visible { outline:3px solid #82b4ff; outline-offset:3px; }

.bl-legal-modal { position:fixed; inset:0; z-index:2147483000; display:flex; align-items:center; justify-content:center; padding:22px; isolation:isolate; font-family:inherit; font-size:14px; color:#1f293e; }
.bl-legal-backdrop { position:absolute; inset:0; background:rgba(14,26,48,.67); backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px); }
.bl-legal-window { position:relative; z-index:1; display:flex; flex-direction:column; width:min(1120px,100%); height:min(800px,calc(100dvh - 44px)); min-height:0; background:#fff; box-shadow:0 30px 110px rgba(5,14,38,.34); border:1px solid rgba(255,255,255,.6); border-radius:19px; overflow:hidden; }
.bl-legal-toolbar { min-height:78px; padding:16px 24px; display:flex; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid #e9edf5; }
.bl-legal-toolbar-title { display:flex; align-items:center; gap:12px; }
.bl-legal-mark { display:grid; place-items:center; font-size:24px; width:43px; height:43px; color:#fff; background:#235fe9; border-radius:12px; }
.bl-legal-toolbar-title strong { display:block; font-weight:800; font-size:17px; letter-spacing:-.5px; color:#101e35; }
.bl-legal-toolbar-title small { display:block; margin-top:2px; font-size:12px; color:#7e8ba1; }
.bl-legal-toolbar-actions { display:flex; align-items:center; gap:12px; }
.bl-legal-external { font-size:12px; font-weight:650; color:#56657d; text-decoration:none; }
.bl-legal-external:hover { color:#235fe9; }
.bl-legal-close { border:1px solid #e3e8f1; cursor:pointer; width:37px; height:37px; display:grid; place-items:center; background:#f8fafd; border-radius:10px; font:400 27px/1 system-ui,sans-serif; color:#65758d; }
.bl-legal-close:hover { color:#152b48; background:#edf2f9; }
.bl-legal-tabbar { display:flex; align-items:center; gap:8px; padding:11px 24px; border-bottom:1px solid #ecf0f5; background:#fbfcfe; }
.bl-legal-tab { border:1px solid transparent; background:transparent; color:#687992; border-radius:9px; padding:10px 17px; cursor:pointer; font-size:13px; font-weight:750; font-family:inherit; }
.bl-legal-tab:hover { background:#edf3ff; color:#235fe9; }
.bl-legal-tab.is-active { background:#eaf0ff; border-color:#dbe6ff; color:#235fe9; }
.bl-legal-scroll { overflow-y:auto; min-height:0; overscroll-behavior:contain; flex:1; scroll-behavior:smooth; }
.bl-legal-document { padding:35px 40px 60px; font-family:inherit; color:#23324a; text-align:left; }
.bl-legal-document-header { max-width:820px; margin-bottom:35px; }
.bl-legal-eyebrow { display:inline-flex; align-items:center; border:1px solid #dce8fe; background:#f0f5ff; color:#235fe9; border-radius:99px; padding:6px 11px; font-size:11px; font-weight:800; margin-bottom:14px; }
.bl-legal-document-header h2 { font-size:clamp(28px,3vw,37px); letter-spacing:-1.35px; line-height:1.14; margin:0 0 13px; font-weight:850; color:#111d34; }
.bl-legal-document-header p { font-size:14px; line-height:1.8; color:#75839a; margin:0; }
.bl-legal-date { display:inline-block; margin-top:17px; color:#8a98aa; font-size:11px; font-weight:650; }
.bl-legal-columns { display:grid; grid-template-columns:minmax(185px,245px) minmax(0,1fr); gap:33px; align-items:start; }
.bl-legal-toc { position:sticky; top:16px; align-self:start; max-height:calc(100dvh - 200px); overflow-y:auto; background:#f9fbfe; border:1px solid #edf1f6; border-radius:13px; padding:16px 10px; }
.bl-legal-toc-title { text-transform:uppercase; color:#8996a8; font-size:10px; letter-spacing:1.4px; font-weight:850; margin:2px 13px 12px; }
.bl-legal-toc a { display:flex; gap:11px; padding:9px 10px; font-size:12px; line-height:1.45; font-weight:550; color:#60718c; text-decoration:none; border-radius:7px; }
.bl-legal-toc a span { font-size:10px; font-variant-numeric:tabular-nums; color:#a3b1c7; padding-top:2px; }
.bl-legal-toc a:hover, .bl-legal-toc a:focus { color:#245fe7; background:#eaf1ff; }
.bl-legal-article { min-width:0; }
.bl-legal-section { padding:0 0 26px; margin-bottom:31px; border-bottom:1px solid #ebeff5; scroll-margin-top:14px; }
.bl-legal-section:last-child { border-bottom:0; }
.bl-legal-number { font-size:11px; letter-spacing:1px; color:#2563eb; font-weight:850; margin-bottom:11px; }
.bl-legal-section h3 { color:#15253c; margin:0 0 12px; font-size:19px; letter-spacing:-.3px; line-height:1.4; font-weight:800; }
.bl-legal-prose { overflow-wrap:anywhere; font-size:13px; line-height:1.83; color:#5a6a82; }
.bl-legal-prose p { margin:0 0 12px; }
.bl-legal-prose ul, .bl-legal-prose ol { padding-left:22px; margin:7px 0 15px; }
.bl-legal-prose li { margin:0 0 6px; }
.bl-legal-prose strong { color:#263650; }
.bl-legal-prose a { color:#245fe7; text-decoration:underline; text-underline-offset:2px; }
.bl-legal-highlight { border:1px solid #dbe8ff; background:#f0f5ff; border-radius:12px; padding:17px 19px; line-height:1.75; font-size:13px; color:#284774; margin-bottom:26px; }
.bl-legal-warning { background:#fff9eb; border:1px solid #f5dda2; border-radius:10px; padding:14px 18px; margin:0 0 25px; font-size:12px; color:#7c5c16; }
.bl-legal-warning strong { display:block; margin-bottom:5px; }
.bl-legal-warning p { margin:0 0 5px; }
.bl-legal-warning code { overflow-wrap:anywhere; white-space:normal; }

.bl-legal-page { width:min(1120px,calc(100vw - 40px)); max-width:1120px; margin:0 auto; text-align:left; background:#fff; border:1px solid #e8eef6; border-radius:18px; box-shadow:0 10px 40px rgba(24,54,95,.08); }
.bl-legal-page .bl-legal-document { padding:25px 35px 50px; }
.bl-legal-back { display:inline-block; margin:22px 35px 10px; font-size:13px; color:#235fe9; text-decoration:none; }
.bl-legal-page-nav { display:flex; gap:8px; flex-wrap:wrap; padding:10px 35px; border-bottom:1px solid #eff2f6; }
.bl-legal-page-nav a { padding:10px 15px; border-radius:9px; color:#62748e; font-size:13px; text-decoration:none; }
.bl-legal-page-nav a.is-current { color:#235fe9; background:#eaf0ff; font-weight:750; }
.bl-legal-page .bl-legal-toc { max-height:70vh; }
@media (max-width:840px) {
 .bl-legal-document { padding:26px 22px 45px; }
 .bl-legal-columns { grid-template-columns:1fr; gap:23px; }
 .bl-legal-toc { position:static; max-height:175px; }
 .bl-legal-document-header { margin-bottom:24px; }
 .bl-legal-section h3 { font-size:17px; }
}
@media (max-width:600px) {
 .bl-legal-modal { padding:0; }
 .bl-legal-window { height:100dvh; max-height:100dvh; width:100%; border-radius:0; border:0; }
 .bl-legal-toolbar { min-height:66px; padding:10px 14px; }
 .bl-legal-mark { width:36px; height:36px; border-radius:9px; font-size:21px; }
 .bl-legal-toolbar-title strong { font-size:15px; }
 .bl-legal-toolbar-title small { font-size:10px; }
 .bl-legal-external { font-size:0; }
 .bl-legal-external span { font-size:21px; }
 .bl-legal-tabbar { padding:9px 13px; gap:5px; }
 .bl-legal-tab { padding:9px 12px; font-size:12px; }
 .bl-legal-document { padding:23px 18px 50px; }
 .bl-legal-document-header h2 { font-size:27px; }
 .bl-legal-page { width:calc(100vw - 20px); margin:10px auto; }
 .bl-legal-page .bl-legal-document { padding:20px 15px 35px; }
 .bl-legal-back { margin:20px 15px 8px; }
 .bl-legal-page-nav { padding:10px 15px; }
}
