/* Scoped consent UI; no fonts, images or framework. */
html { scroll-padding-bottom: var(--jo-consent-clearance, 16px); }
#jo-consent-banner[hidden], .jo-consent-footer button[hidden] { display: none !important; }
body.fullmenu-active #jo-consent-banner { display: none !important; }
#jo-consent-banner, #jo-consent-dialog { box-sizing: border-box; color: #17232e; background: #fff; font: 400 16px/1.5 system-ui, sans-serif; text-align: left; }
#jo-consent-banner * , #jo-consent-dialog * { box-sizing: border-box; }
#jo-consent-banner { position: fixed; z-index: 2147482000; inset: auto 0 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 10px max(20px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left)); border-top: 1px solid #ccd4dc; max-height: 45dvh; overflow: auto; overscroll-behavior: contain; font-size: 14px; line-height: 1.45; }
#jo-consent-banner h2, #jo-consent-dialog h2 { color: #004280; font: 650 20px/1.3 system-ui, sans-serif; margin: 0 0 6px; padding: 0; }
#jo-consent-banner p { margin: 0; max-width: none; }
#jo-consent-banner .jo-consent__desktop-copy { white-space: nowrap; }
#jo-consent-banner .jo-consent__mobile-copy, #jo-consent-banner .jo-consent__dismiss { display: none; }
#jo-consent-banner .jo-consent__intro { display: inline; margin: 0; color: inherit; font: inherit; }
.jo-consent__actions { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 8px; flex-shrink: 0; }
#jo-consent-banner button, #jo-consent-dialog button { appearance: none; border: 1px solid #7d8a96; border-radius: 6px; background: transparent; color: #17232e; font: 400 15px/1.3 system-ui, sans-serif; padding: 11px 15px; min-height: 44px; cursor: pointer; text-transform: none; letter-spacing: normal; box-shadow: none; white-space: normal; }
#jo-consent-banner button[data-jo-choice]:hover, #jo-consent-dialog button[data-jo-choice]:hover { background: #f4f6f8; border-color: #52616e; }
#jo-consent-banner .jo-consent__link, #jo-consent-dialog .jo-consent__link { color: #004280; background: transparent; border-color: transparent; text-decoration: underline; font-weight: 400; }
#jo-consent-banner button { font-size: 14px; padding: 10px 14px; border-radius: 4px; }
#jo-consent-banner .jo-consent__link { padding-left: 6px; padding-right: 6px; }
#jo-consent-banner a, #jo-consent-dialog a { color: #004280; text-decoration: underline; display: inline-flex; align-items: center; min-height: 44px; }
#jo-consent-banner :focus-visible, #jo-consent-dialog :focus-visible, .jo-consent-footer :focus-visible { outline: 3px solid #b76700; outline-offset: 3px; }
#jo-consent-dialog { border: 1px solid #ccd4dc; border-radius: 10px; padding: 24px; width: min(540px, calc(100% - 24px)); max-height: calc(100dvh - 24px); overflow: auto; margin: auto; }
#jo-consent-dialog::backdrop { background: #0006; }
#jo-consent-dialog p { margin: 12px 0; }
#jo-consent-dialog label { display: block; padding: 12px 0; cursor: pointer; }
#jo-consent-dialog input { width: 20px; height: 20px; accent-color: #004280; vertical-align: middle; margin: 0 8px 0 0; }
#jo-consent-dialog label span { display: block; margin-left: 32px; }
.jo-consent-dialog__actions { display: flex; flex-wrap: wrap; gap: 8px; }
#jo-consent-reload-note { font-size: 14px; }
.jo-consent-footer { padding: 8px 20px; background: #fff; text-align: center; }
.jo-consent-footer button { color: #004280; background: transparent; border: 0; text-decoration: underline; cursor: pointer; min-height: 44px; font: 400 15px/1.4 system-ui, sans-serif; }
.jo-consent-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
.jo-consent-nojs { padding: 12px 20px; }
@media (max-width: 999px) {
  #jo-consent-banner { inset: 50% 12px auto; transform: translateY(-50%); display: block; width: auto; max-width: 420px; margin: 0 auto; padding: 18px; border: 1px solid #ccd4dc; border-radius: 10px; box-shadow: 0 8px 30px #17232e26; max-height: calc(100dvh - 32px); }
  #jo-consent-banner .jo-consent__desktop-copy { display: none; }
  #jo-consent-banner .jo-consent__mobile-copy { display: block; padding-right: 32px; }
  #jo-consent-banner .jo-consent__dismiss { position: absolute; top: 4px; right: 4px; display: inline-flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 4px; font-size: 22px; line-height: 1; }
  .jo-consent__actions { margin-top: 12px; }
}
@media print { #jo-consent-banner, #jo-consent-dialog, #jo-consent-space, .jo-consent-footer { display: none !important; } }

#jo-consent-banner .jo-consent__copy--custom { min-width: 0; flex: 1; }
#jo-consent-banner .jo-consent__copy--custom .jo-consent__desktop-copy { white-space: normal; overflow-wrap: anywhere; }
