/* Deliberately scoped: no changes to the theme or existing article typography. */
.sb-consent, .sb-consent *, .sb-consent-open, .sb-embed-placeholder { box-sizing: border-box; }
.sb-consent { color: #20262d; background: #fff; border: 1px solid #c8cdd1; font: 16px/1.5 system-ui, sans-serif; text-align: left; }
.sb-consent [hidden], .sb-consent[hidden] { display: none !important; }
.sb-consent h2 { font: 700 22px/1.25 system-ui, sans-serif; color: #20262d; margin: 0 0 12px; letter-spacing: normal; text-transform: none; }
.sb-consent p { font: inherit; margin: 0 0 16px; color: inherit; }
.sb-consent a { color: #175274; text-decoration: underline; }
#sb-consent-banner { position: fixed; z-index: 2147483000; left: 20px; bottom: 20px; width: min(660px, calc(100% - 40px)); max-height: calc(100dvh - 40px); overflow: auto; padding: 24px; box-shadow: 0 6px 28px #0002; }
.sb-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.sb-consent button, .sb-consent-open, .sb-embed-placeholder { font: 600 15px/1.35 system-ui, sans-serif; border-radius: 3px; padding: 12px 16px; min-height: 44px; cursor: pointer; border: 1px solid #265b72; background: #265b72; color: #fff; text-shadow: none; box-shadow: none; text-transform: none; letter-spacing: normal; }
.sb-actions button { flex: 1 1 auto; }
.sb-consent button:hover, .sb-consent-open:hover { background: #194257; color: #fff; }
.sb-consent button:focus-visible, .sb-consent input:focus-visible, .sb-consent a:focus-visible, .sb-consent-open:focus-visible, .sb-embed-placeholder:focus-visible { outline: 3px solid #bd5a0a; outline-offset: 3px; }
.sb-consent .sb-legal { font-size: 13px; margin: 14px 0 0; }
.sb-consent-open { position: fixed; z-index: 2147482000; bottom: 0; left: 12px; padding: 10px 14px; background: #fff; color: #265b72; border-bottom: 0; border-radius: 3px 3px 0 0; }
#sb-consent-open, #sb-consent-dialog, #sb-consent-banner { transform: none !important; animation: none !important; transition: none !important; }
#sb-consent-open { z-index: 2147483647; }
#sb-consent-dialog { width: min(760px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 24px; margin: auto; overflow: auto; }
#sb-consent-dialog::backdrop { background: #111a; }
.sb-dialog-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.sb-consent .sb-close { padding: 4px 10px; min-width: 44px; font-size: 28px; line-height: 1; background: #fff; color: #265b72; }
.sb-purpose { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 0; border-top: 1px solid #d8dde0; cursor: pointer; font-weight: 400; }
.sb-purpose strong, .sb-purpose span span { display: block; }
.sb-purpose span span, .sb-purpose p { font-size: 14px; margin: 4px 0 0; }
.sb-purpose input { flex-shrink: 0; width: 24px; height: 24px; accent-color: #265b72; margin: 10px; cursor: pointer; }
.sb-required { display: block; cursor: default; }
.sb-consent .sb-note { font-size: 14px; padding: 12px; background: #f1f4f5; }
.sb-embed-placeholder { display: block; width: 100%; padding: 24px; margin: 12px 0; background: #f1f4f5; color: #265b72; }
.sb-noscript { padding: 16px; background: #fff; color: #222; }
@media (max-width: 520px) {
  #sb-consent-banner { left: 8px; bottom: 8px; width: calc(100% - 16px); padding: 18px; max-height: calc(100dvh - 16px); }
  #sb-consent-dialog { padding: 18px; width: calc(100% - 16px); max-height: calc(100dvh - 16px); }
  .sb-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .sb-actions button:last-child { grid-column: 1 / -1; }
  .sb-purpose { gap: 8px; }
}
