:root { --mscc-space:0px; }
html { scroll-padding-bottom:var(--mscc-space); }
body:has(#mscc-root) { padding-bottom:var(--mscc-space); }
body:has(#mscc-dialog[open]) { overflow:hidden; }
/* The consent notice renders immediately without waiting for a theme web font. */
.mscc { --cc-ink:var(--ki-ink,var(--ab-ink,var(--el-ink,#18313a))); --cc-paper:var(--ki-paper,var(--ab-paper,#fff)); --cc-line:#c9d1d3; color:var(--cc-ink); font:400 15px/1.55 system-ui,-apple-system,"Segoe UI",Arial,sans-serif; }
.mscc *, .mscc *::before, .mscc *::after { box-sizing:border-box; }
.mscc [hidden] { display:none; }
.mscc h2, .mscc h3, .mscc p { margin:0 0 10px; color:inherit; }
.mscc h2 { font-size:20px; line-height:1.3; font-weight:650; }
.mscc h3 { font-size:16px; font-weight:650; }
.mscc a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.mscc button { font:inherit; cursor:pointer; }
.mscc :is(button,a,input):focus-visible { outline:3px solid var(--cc-ink); outline-offset:3px; }
.mscc-banner { position:fixed; z-index:1085; inset:auto 20px 20px; display:flex; align-items:center; gap:28px; margin-inline:auto; padding:24px; max-width:1260px; max-height:70dvh; overflow:auto; background:var(--cc-paper); border:1px solid var(--cc-line); box-shadow:0 8px 32px #12232a26; border-radius:10px; }
.mscc-banner-copy { flex:1 1 50%; min-width:0; }
.mscc-banner-copy p { max-width:76ch; }
.mscc-actions { display:flex; flex-wrap:wrap; gap:10px; }
.mscc-banner > .mscc-actions { flex:1 1 40%; justify-content:flex-end; }
.mscc-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; border:1px solid var(--cc-ink); border-radius:6px; padding:10px 15px; background:var(--cc-paper); color:var(--cc-ink); line-height:1.3; text-align:center; }
.mscc-button:hover { background:#edf1f2; }
.mscc-button:disabled { opacity:.65; cursor:wait; }
.mscc-reopen { position:fixed; z-index:1045; left:16px; bottom:16px; padding:10px 14px; min-height:44px; color:var(--cc-ink); background:var(--cc-paper); border:1px solid var(--cc-line); border-radius:6px; box-shadow:0 2px 8px #12232a18; }
.mscc-dialog { width:min(690px,calc(100% - 28px)); max-width:none; max-height:calc(100dvh - 32px); border:1px solid var(--cc-line); border-radius:12px; padding:0; margin:auto; overflow:hidden; color:var(--cc-ink); background:var(--cc-paper); }
.mscc-dialog[open] { display:flex; flex-direction:column; }
.mscc-dialog::backdrop { background:#10242c88; }
.mscc-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px 12px; flex:none; }
.mscc-dialog-head h2 { margin:0; }
.mscc-close { min-width:44px; min-height:44px; flex:none; border:0; background:transparent; font-size:28px; color:inherit; }
.mscc-dialog-body { padding:0 24px 18px; overflow:auto; overscroll-behavior:contain; }
.mscc-category { padding-block:18px; border-top:1px solid var(--cc-line); }
.mscc-choice { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:44px; margin-bottom:6px; font-size:16px; font-weight:650; cursor:pointer; }
.mscc-choice input { width:23px; height:23px; flex:none; accent-color:var(--cc-ink); cursor:pointer; }
.mscc-required { display:inline-block; margin-bottom:8px; font-size:13px; }
.mscc-providers { margin:8px 0 0; padding-left:20px; font-size:13px; }
.mscc-dialog-actions { flex:none; padding:16px 24px; border-top:1px solid var(--cc-line); }
.mscc-dialog-actions .mscc-button { flex:1 1 150px; }
.mscc-status:empty { display:none; }
.mscc-status { margin:0; padding:12px 24px; }
.mscc-banner-status:not(:empty) { position:fixed; z-index:1090; inset:auto 20px 0; background:var(--cc-paper); border:1px solid var(--cc-line); }
.mscc-noscript { padding:20px; background:#fff; color:#18313a; border:1px solid #c9d1d3; }
.mscc-blocked { padding:20px; margin-block:16px; border:1px solid #c9d1d3; background:#f3f5f5; color:#18313a; text-align:center; }
.mscc-blocked button { min-height:44px; padding:8px 14px; border:1px solid currentColor; background:#fff; color:inherit; border-radius:5px; }
.mscc-image-placeholder { display:block; width:100%; aspect-ratio:16/9; background:linear-gradient(135deg,#dce4e5,#f1f4f4); }
.mscc-policy { max-width:1040px; margin:30px auto; padding:24px; }
.mscc-policy h1 { font-size:30px; margin-bottom:18px; }
.mscc-policy h2 { margin-top:28px; }
.mscc-table-scroll { overflow:auto; }
.mscc-policy table { width:100%; border-collapse:collapse; font-size:14px; }
.mscc-policy th, .mscc-policy td { text-align:left; vertical-align:top; border:1px solid var(--cc-line); padding:12px; overflow-wrap:anywhere; min-width:140px; }
@media(max-width:767px) {
  .mscc-banner { inset:auto 12px 12px; display:block; padding:18px; max-height:65dvh; }
  .mscc-banner > .mscc-actions { margin-top:16px; justify-content:stretch; }
  .mscc-banner .mscc-button { flex:1 1 140px; }
  .mscc-dialog-head, .mscc-dialog-body { padding-inline:18px; }
  .mscc-dialog-actions { padding:12px 18px; gap:8px; }
  .mscc-dialog-actions .mscc-button { flex:1 1 130px; }
  .mscc-policy { padding:12px; }
}
