/* Shared source: identical copies are deployed in the four publication roots. */
.has-cookie-banner { padding-bottom: var(--cookie-banner-space, 0px); }
.cookie-interface { color: var(--ink, var(--reformo-ink, #162f3e)); font-family: inherit; font-size: 16px; line-height: 1.7; }
.cookie-interface *, .cookie-interface *::before, .cookie-interface *::after { box-sizing: border-box; }
.cookie-interface [hidden] { display: none !important; }
.cookie-interface .cookie-banner {
  position: fixed; z-index: 1000; inset: auto 20px 20px;
  display: flex; align-items: center; gap: 24px;
  width: min(1120px, calc(100% - 40px)); margin-inline: auto;
  padding: 22px 24px; background: #fff; border: 1px solid var(--line, #b7c9ce); border-radius: 12px;
  max-height: calc(100dvh - 40px); overflow-y: auto;
}
.cookie-interface h2 { margin: 0 0 8px; font-size: 23px; font-weight: 600; line-height: 1.3; letter-spacing: -.015em; text-wrap: balance; }
.cookie-interface h3 { margin: 0; font-size: 17px; font-weight: 600; line-height: 1.5; letter-spacing: normal; }
.cookie-interface p { margin: 0 0 12px; max-width: 70ch; color: inherit; font-size: 16px; line-height: 1.7; }
.cookie-interface .cookie-banner-copy { flex: 1; min-width: 0; }
.cookie-interface .cookie-banner-copy p { margin-bottom: 6px; font-size: 14px; }
.cookie-interface .cookie-policy-link { color: var(--reformo-blue, var(--blue, #0072af)); font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.cookie-interface .cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.cookie-interface button, button.cookie-settings {
  font: inherit; font-size: 14px; line-height: 1.5; cursor: pointer;
}
.cookie-interface .cookie-actions > button, .cookie-interface [data-cookie-close] {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; margin: 0; padding: 11px 16px;
  border: 1px solid var(--reformo-blue, var(--blue, #0072af)); border-radius: 6px;
  background: #fff; color: var(--reformo-blue, var(--blue, #0072af)); font-weight: 600;
}
.cookie-interface .cookie-actions > button:hover, .cookie-interface [data-cookie-close]:hover { background: var(--pale, var(--paper, #f2f6f7)); }
.cookie-interface :focus-visible { outline: 3px solid var(--focus, #b44f36); outline-offset: 4px; }
.cookie-interface.cookie-site-ai :focus-visible { outline-color: #e99440; }
.cookie-interface .cookie-preferences {
  width: min(640px, calc(100% - 32px)); max-width: none; max-height: calc(100dvh - 32px);
  margin: auto; padding: 28px; overflow-y: auto;
  background: #fff; color: inherit; border: 1px solid var(--line, #b7c9ce); border-radius: 12px;
  font: inherit;
}
.cookie-interface .cookie-preferences:not([open]) { display: none; }
.cookie-interface .cookie-preferences::backdrop { background: rgba(16, 28, 45, .38); }
.cookie-interface .cookie-preferences-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.cookie-interface .cookie-preferences-heading h2 { margin: 0; }
.cookie-interface .cookie-preferences > .cookie-actions { margin-top: 24px; }
.cookie-interface .cookie-category { position: relative; margin: 24px 0; padding-top: 20px; border-top: 1px solid var(--line, #b7c9ce); }
.cookie-interface .cookie-category p { margin: 8px 0 0; font-size: 14px; }
.cookie-interface .cookie-always { display: inline-block; margin-top: 6px; font-size: 14px; font-weight: 600; }
.cookie-interface .cookie-analytics-label { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 44px; margin: 0; font-size: 17px; font-weight: 600; cursor: pointer; }
.cookie-interface input[type="checkbox"] { appearance: auto; flex: 0 0 22px; width: 22px; height: 22px; min-height: 22px; margin: 0; padding: 0; accent-color: var(--reformo-blue, var(--blue, #0072af)); cursor: pointer; }
.cookie-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
button.cookie-settings { min-height: 44px; padding: 8px 0; border: 0; background: transparent; color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.privacy-page .cookie-settings { color: var(--reformo-blue, var(--blue, #0072af)); }
.cookie-footer-links { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 20px; min-width: 0; max-width: 100%; }
footer.has-cookie-links { flex-wrap: wrap; }
.footer-bottom:has(> .cookie-footer-links), .footer-links:has(> .cookie-footer-links) { flex-wrap: wrap; }
.footer-bottom.text-center .cookie-footer-links { justify-content: center; }
.cookie-map-placeholder { display: flex; min-height: 450px; align-items: center; justify-content: center; flex-direction: column; gap: 16px; padding: 24px; background: var(--reformo-mist, #f2f6f7); text-align: center; }
.cookie-map-placeholder p { max-width: 42ch; margin: 0; }
.cookie-map-placeholder a, .cookie-map-placeholder button { color: var(--reformo-blue, #0074b5); text-decoration: underline; text-underline-offset: 4px; }
.cookie-map-placeholder[hidden], [data-cookie-map-frame][hidden] { display: none !important; }
.cookie-table-wrap { overflow-x: auto; margin: 24px 0 40px; }
.privacy-page .cookie-table { width: 100%; min-width: 680px; border-collapse: collapse; font-size: 14px; line-height: 1.65; }
.privacy-page .cookie-table caption { caption-side: top; text-align: left; padding-bottom: 12px; color: inherit; }
.privacy-page .cookie-table th, .privacy-page .cookie-table td { padding: 14px 12px; border-bottom: 1px solid var(--line, #b7c9ce); text-align: left; vertical-align: top; }
.privacy-page .cookie-table thead th { font-weight: 600; }
.privacy-page .cookie-table tbody th { max-width: 180px; font-weight: 400; overflow-wrap: anywhere; }
.privacy-page .cookie-table code { color: inherit; }
@media (max-width: 800px) {
  .cookie-interface .cookie-banner { flex-direction: column; align-items: stretch; gap: 16px; inset-inline: 12px; bottom: 12px; width: calc(100% - 24px); padding: 20px; max-height: calc(100dvh - 24px); }
  .cookie-interface .cookie-banner .cookie-actions > button { flex: 1 1 auto; }
  .cookie-interface .cookie-preferences { padding: 22px; }
  .cookie-interface .cookie-preferences > .cookie-actions { flex-direction: column; }
  .cookie-interface .cookie-preferences-heading { align-items: flex-start; }
}
