/* Analytics notice and off-switch (legal pack 03b). Colours and fonts match site.css. */
.ont-notice { position: fixed; left: 50%; bottom: 1rem; transform: translateX(-50%); width: calc(100% - 2rem); max-width: 40rem;
  background: #1E3A5F; color: #F4EFE6; border-radius: 8px; padding: 0.8rem 1rem; box-shadow: 0 6px 14px rgba(30,58,95,0.25);
  font-family: "Source Sans 3", sans-serif; font-size: 1rem; line-height: 1.4; z-index: 1000;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.6rem; }
.ont-notice p { margin: 0; }
.ont-notice a { color: #F4EFE6; font-weight: 600; }
.ont-notice-buttons { display: flex; gap: 0.5rem; }
.ont-btn { font: 700 1rem/1 "League Spartan", sans-serif; border: 2px solid #F4EFE6; background: #F4EFE6; color: #1E3A5F;
  border-radius: 999px; padding: 0.55rem 1rem; cursor: pointer; }
.ont-btn-plain { background: transparent; color: #F4EFE6; }
.ont-btn:focus-visible, .ont-notice a:focus-visible, [data-ont-toggle]:focus-visible { outline: 3px solid #F4EFE6; outline-offset: 2px; box-shadow: 0 0 0 5px #1E3A5F; }
/* Cookies page button sits on the cream background */
.wrap .ont-btn { border-color: #1E3A5F; background: #1E3A5F; color: #F4EFE6; }
.ont-notice .ont-btn { border-color: #F4EFE6; background: #F4EFE6; color: #1E3A5F; }
.ont-notice .ont-btn-plain { background: transparent; color: #F4EFE6; }
.ont-table { border-collapse: collapse; width: 100%; margin: 0.6rem 0; font-size: 1rem; }
.ont-table th, .ont-table td { text-align: left; padding: 0.45rem 0.4rem; border-top: 1px solid rgba(30,58,95,0.18); vertical-align: top; }
.ont-table th { color: #1E3A5F; font-family: "League Spartan", sans-serif; }
@media print { .ont-notice { display: none; } }
