/* Small shared layout repairs. Original typography, colours and page design remain. */
html body #qodef-page-content,
html body #qodef-page-inner,
html body .olla-footer-columns > section {
  min-width: 0;
}

html body #qodef-page-inner > .qodef-content-grid {
  max-width: 100%;
}

/* The sidebar's CTA must fit its 195px inner width and centre wrapped text. */
html body #qodef-page-header .qodef-widget-holder,
html body #qodef-page-header .qodef-widget-holder .widget {
  width: 100%;
  min-width: 0;
}

html body #qodef-page-header .qodef-widget-holder .qodef-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 48px;
  padding: 14px 12px;
  line-height: 1.5;
  text-align: center;
}

html body #qodef-page-header .qodef-widget-holder .qodef-button .qodef-m-text {
  min-width: 0;
  line-height: inherit;
}

html body #qodef-page-header .qodef-header-vertical-navigation > ul > li > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  max-width: 100%;
  line-height: 1.5;
}

html body #qodef-page-header .qodef-header-vertical-navigation > ul > li > a:focus-visible .qodef-menu-item-text {
  background-size: 100% var(--qodef-background-position);
  background-position-x: 0;
}

html body .olla-language a {
  align-items: center;
  justify-content: center;
  line-height: 1.2;
}

/* Link targets in the shared footer stay readable and easy to reach. */
html body .olla-footer-link,
html body .olla-footer-bottom > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  max-width: 100%;
  box-sizing: border-box;
}

html body .olla-footer-columns {
  align-items: start;
}

html body .olla-footer address {
  overflow-wrap: break-word;
}

@media (min-width: 1201px) {
  html body #qodef-page-header { display: block; }
  html body #qodef-page-mobile-header { display: none; }

  /* A short laptop window can scroll the sidebar instead of clipping its CTA. */
  html body #qodef-page-header-inner {
    box-sizing: border-box;
    justify-content: flex-start;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
  }

  html body #qodef-page-header-inner > .qodef-header-logo-link,
  html body #qodef-page-header-inner > .olla-language,
  html body #qodef-page-header-inner > .qodef-header-vertical-navigation,
  html body #qodef-page-header-inner > .qodef-widget-holder {
    flex-shrink: 0;
  }
}

@media (min-width: 1201px) and (max-height: 700px) {
  html body #qodef-page-header-inner {
    padding-top: 32px;
    padding-bottom: 32px;
  }
}

@media (max-width: 1200px) {
  html body #qodef-page-header { display: none; }
  html body #qodef-page-mobile-header { display: block; }

  html body #qodef-page-mobile-header-inner {
    min-width: 0;
    flex-wrap: nowrap;
  }

  html body #qodef-page-mobile-header .qodef-side-area-mobile-header-opener {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 48px;
    min-width: 48px;
    height: 48px;
    min-height: 48px;
    line-height: 1;
  }
}

@media (max-width: 680px) {
  html body .olla-footer-columns p > a {
    display: inline-block;
    min-height: 44px;
    padding-top: 8px;
    padding-bottom: 8px;
    box-sizing: border-box;
  }
}
