/* Consent banner (only visible when consent.js un-hides it). */
.consent[hidden] { display: none; }
.consent { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; background: var(--navy); color: #E6EEF5; border-top: 4px solid var(--orange); box-shadow: 0 -6px 24px rgba(19, 51, 83, 0.25); }
.consent-inner { max-width: var(--max); margin: 0 auto; padding: 1.1rem 1.25rem; display: grid; gap: 0.75rem 2rem; grid-template-columns: 1fr; align-items: center; }
.consent h2 { margin: 0; font-size: 1.15rem; color: var(--white); }
.consent h2:focus { outline: none; }
.consent h2:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.consent p { margin: 0; color: #E6EEF5; font-size: 0.98rem; }
.consent a { color: var(--gold); }
.consent a:hover { color: var(--white); }
.consent :focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.consent-actions { display: flex; gap: 0.75rem; flex-wrap: wrap; }
/* Accept and Reject are deliberately identical in size, weight and colour. */
.consent-btn { flex: 1 1 8rem; min-width: 8rem; min-height: 2.75rem; padding: 0.65rem 1.25rem; border-radius: 999px; border: 2px solid var(--white); background: var(--white); color: var(--navy); font: inherit; font-weight: 700; cursor: pointer; }
.consent-btn:hover { background: var(--tint-2); border-color: var(--tint-2); color: var(--navy); }
.has-consent-banner body { padding-bottom: 12rem; }
.link-button { background: none; border: 0; padding: 0; font: inherit; color: var(--orange); text-decoration: underline; text-decoration-thickness: 0.08em; text-underline-offset: 0.18em; cursor: pointer; }
.link-button:hover { color: var(--gold); }
.link-button[hidden] { display: none; }
@media (min-width: 52rem) {
  .consent-inner { grid-template-columns: auto 1fr auto; grid-template-areas: "title text actions"; }
  .consent h2 { grid-area: title; max-width: 14rem; }
  .consent p { grid-area: text; }
  .consent-actions { grid-area: actions; flex-wrap: nowrap; }
  .has-consent-banner body { padding-bottom: 7rem; }
}
