/* Cookie consent banner and footer settings link.
   The banner sits outside .ax-root, so it sets its own type and box model.
   Theme tokens come from theme.css and follow light and dark appearance. */
.ax-cookie-consent {
  position: fixed;
  z-index: 50;
  inset: auto 16px 16px auto;
  width: min(460px, calc(100vw - 32px));
  box-sizing: border-box;
  font-family: var(--ax-font);
  color: var(--ax-theme-text, #141416);
}
.ax-cookie-consent:focus { outline: none; }
.ax-cookie-consent:focus-visible .ax-cookie-consent__panel { outline: 3px solid var(--ax-green-09, #7cf5a8); outline-offset: 2px; }
.ax-cookie-consent__panel {
  display: grid;
  gap: 20px;
  padding: 24px;
  border: 1px solid var(--ax-theme-border, #c9cfc9);
  background: var(--ax-theme-raised, #fff);
}
.ax-cookie-consent__title { margin: 0; font-size: 20px; line-height: 1.25; font-weight: 400; }
.ax-cookie-consent__body { margin: 0; font-size: 15px; line-height: 1.5; color: var(--ax-theme-text-2, #333a35); }
.ax-cookie-consent__link { justify-self: start; font-size: 15px; color: var(--ax-theme-link, #206f44); text-underline-offset: 3px; }
.ax-cookie-consent__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
/* Equal size, colour and weight for both choices. */
.ax-cookie-consent__choice {
  min-height: 48px;
  padding: 12px 16px;
  border: 1px solid var(--ax-theme-text, #141416);
  background: var(--ax-theme-text, #141416);
  color: var(--ax-theme-paper, #fafaf7);
  font: inherit;
  font-size: 15px;
  line-height: 1.2;
  cursor: pointer;
}
.ax-cookie-consent__choice:hover { background: var(--ax-theme-text-2, #333a35); }
.ax-cookie-consent__choice:focus-visible { outline: 3px solid var(--ax-green-09, #7cf5a8); outline-offset: 2px; }
@media (max-width: 520px) {
  .ax-cookie-consent { inset: auto 0 0 0; width: 100%; }
  .ax-cookie-consent__panel { padding: 20px 16px calc(20px + env(safe-area-inset-bottom)); border-inline: 0; border-bottom: 0; }
}

.ax-site-footer__legal { display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--ax-3, 24px); }
.ax-cookie-settings {
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  background: none;
  color: var(--ax-text-2);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.ax-cookie-settings:is(:hover, :focus-visible) { color: var(--ax-text); text-decoration: underline; text-underline-offset: .2em; }

/* Cookie tables in the privacy notice. */
.ax-cookie-table-wrap { overflow-x: auto; margin-block: 8px 16px; }
.ax-cookie-table { width: 100%; min-width: 560px; table-layout: fixed; border-collapse: collapse; font-size: 15px; line-height: 1.45; }
.ax-cookie-table thead th:nth-child(1) { width: 24%; }
.ax-cookie-table thead th:nth-child(2) { width: 12%; }
.ax-cookie-table thead th:nth-child(3) { width: 28%; }
.ax-cookie-table thead th:nth-child(4) { width: 20%; }
.ax-cookie-table thead th:nth-child(5) { width: 16%; }
.ax-cookie-table caption { padding-bottom: 8px; text-align: left; font-weight: 700; }
.ax-cookie-table :is(th, td) { padding: 10px 12px 10px 0; border-bottom: 1px solid var(--ax-theme-border-soft, #d8ddd6); text-align: left; vertical-align: top; }
.ax-cookie-table thead th { color: var(--ax-theme-muted, #4d574f); font-weight: 400; }
.ax-cookie-table code { font-size: 14px; overflow-wrap: anywhere; }
