/* DEV-01: keyboard focus and navigation. This stylesheet is loaded after legacy styles. */
.skip-link {
  position: fixed; left: 16px; top: 12px; z-index: 100000001;
  transform: translateY(-180%); padding: 12px 20px; border-radius: 6px;
  background: #fff; color: #123021; font: 700 18px/1.4 Arial, sans-serif;
  text-decoration: underline; box-shadow: 0 0 0 3px #123021;
}
.skip-link:focus { transform: none; }
html body :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #111 !important; outline-offset: 3px !important;
  box-shadow: 0 0 0 6px #fff !important;
}
#main-content { scroll-margin-top: 110px; }
.menu--primary--wrapper.is-collapsed { visibility: hidden !important; transition: none !important; }
.menu--primary--mobile--wrapper[inert] { visibility: hidden !important; }
button.menu--burger { appearance: none; border: 0; padding: 0; background: transparent; color: inherit; font-family: inherit; cursor: pointer; }
button.menu--burger:focus-visible { border-radius: 3px; }
.menu--primary--mobile--inner { max-height: 100dvh; overflow-y: auto; overscroll-behavior: contain; }
button.scroll-to-top { border: 0; cursor: pointer; }
/* DEV-02: allow narrow layouts and prevent long words from exceeding their columns. */
.t--color--dark-green-50 { color: #50685c !important; }
#main-content a.btn.btn--secondary.btn--bright-red.is-disabled { color: #50685c !important; border-color: #50685c !important; }
.t--color--bright-red { color: #802b2b !important; }
.btn--secondary.btn--bright-red { color: #802b2b; border-color: #802b2b; }
.btn--secondary.btn--bright-red:hover { color: #fff; background: #802b2b; }
.module--banner a[data-slide] { color: #123021 !important; opacity: 1 !important; }
.t--disclaimer { background: #123021; color: #fff; padding: 4px 8px; font-size: 12px; line-height: 1.4; }
#matomo-opt-out > p { color: #802b2b !important; }
#main-content a._brlbs-btn-cookie-preference { background-color: #17672e !important; color: #fff !important; }
.bg--color--dark-green .t--color--bright-red { color: #ff9fd2 !important; }
#BorlabsCookieBox { color: #123021; }
#BorlabsCookieBox .btn { padding: 10px 18px; border: 2px solid #123021; border-radius: 28px; }
#BorlabsCookieBox .btn--secondary { color: #123021; background: transparent; }
#BorlabsCookieBox .btn--primary { background: #123021; color: #a1f559; }
/* Reserve space for actions in both views; legacy nowrap flex squeezed the initial banner. */
#BorlabsCookieBox.BorlabsCookie :is(.cookie-box, .cookie-preference) .row-wrapper { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 24px; }
#BorlabsCookieBox.BorlabsCookie :is(.cookie-box, .cookie-preference) .col-left { flex: 1 1 560px; width: auto; min-width: 0; margin-right: 0; }
#BorlabsCookieBox.BorlabsCookie :is(.cookie-box, .cookie-preference) .col-btns { flex: 0 0 320px; width: 320px; min-width: 0; max-width: 100%; }
#BorlabsCookieBox .btn--full-width { width: 100%; }
#BorlabsCookieBox.BorlabsCookie :is(.cookie-box, .cookie-preference) .col-btns :is(a, button).btn {
  display: block; width: 100%; min-width: 0; max-width: 100%;
  height: auto; min-height: 44px; padding: 10px 18px; margin-left: 0; margin-right: 0;
  line-height: 1.35; white-space: normal; overflow-wrap: break-word; word-break: normal; hyphens: auto;
}
#BorlabsCookieBox .cookie-preference .btn--accept-all { background: #a1f559; color: #123021; }
.content-wrapper, .content-wrapper .col, .footer .col { min-width: 0; }
.content-wrapper :is(p, h1, h2, h3, h4, h5, h6), .footer a { overflow-wrap: anywhere; }
/* DEV-02: responsive presentation of the existing consent controls. */
#BorlabsCookieBox .btn { display: inline-block; white-space: normal; height: auto; min-height: 44px; line-height: 1.35; }
#BorlabsCookieBox :is(.cookie-box, .cookie-preference) { max-width: 100%; }
#BorlabsCookieBox :is(._brlbs-box, ._brlbs-bar, .cookie-preference .container) { max-height: 94vh; max-height: 94dvh; overflow-y: auto; overscroll-behavior: contain; }
#BorlabsCookieBox :is(p, label, th, td, button, a) { overflow-wrap: anywhere; }
#BorlabsCookieBox :is(._brlbs-checkbox-indicator, ._brlbs-slider) { border: 2px solid currentColor; }
#BorlabsCookieBox .cookie-info-wrapper .w-75 { min-width: 0; }
@media (max-width: 960px) {
  #BorlabsCookieBox.BorlabsCookie :is(.cookie-box, .cookie-preference) .col-btns { flex: 1 1 100%; width: 100%; }
}
@media (max-width: 480px) {
  #BorlabsCookieBox :is(.col-left, .col-right) { width: 100%; min-width: 0; }
  #BorlabsCookieBox :is(._brlbs-box, ._brlbs-bar) { padding: 18px; }
  #BorlabsCookieBox .row-wrapper { display: block; }
}
@media (prefers-reduced-motion: reduce) {
  .transition-overlay, .menu--primary--mobile--wrapper, .menu--primary--mobile--wrapper * { transition: none !important; animation: none !important; }
  html { scroll-behavior: auto !important; }
}
