/* Overrides on top of legacy.css: replaces jQuery animations, fixes, consent banner. */

/* off-canvas slide (was jQuery .animate) */
#main-navigation { transition: left .3s; }
#intro-section, #page { transition: left .3s; }
#header { transition: transform .5s, left .3s; }

/* logo was rendered with width="0" height="0" */
#header .logo img, #header .print-logo { height: auto; }

/* visible keyboard focus */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid #1D398D;
  outline-offset: 2px;
}

/* consent banner */
.consent {
  background: #1c1c1c;
  bottom: 0;
  box-shadow: 0 -2px 20px rgba(0, 0, 0, .15);
  color: #fff;
  font-size: 16px;
  left: 0;
  line-height: 1.4;
  padding: 18px 0;  /* horizontal padding comes from .inner */
  position: fixed;
  right: 0;
  z-index: 100;
}
.consent[hidden] { display: none; }
.consent .inner { align-items: center; display: flex; flex-wrap: wrap; gap: 12px 24px; justify-content: space-between; }
.consent p { flex: 1 1 420px; margin: 0; }
.consent a { color: #fff; text-decoration: underline; }
.consent .actions { display: flex; gap: 12px; }
.consent button {
  background: transparent;
  border: 2px solid #fff;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: bold;
  padding: 8px 16px;
}
.consent button.accept { background: #1D398D; border-color: #1D398D; }
.link-button { background: none; border: 0; color: inherit; cursor: pointer; font: inherit; padding: 0; text-decoration: underline; }

/* form messages */
.form-error { color: #c10b0b; font-size: 16px; margin: 6px 0 0; }
.form-note { font-size: 15px; line-height: 1.4; margin: 12px 0; }
