/* Cookie banner (consent.js): a navy bar across the bottom, like the loader band. Used by the landing and
   the privacy policy; the page's own stylesheet is loaded before this one. */
.cc { position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; display: flex; align-items: center; gap: 22px;
  padding: 16px clamp(16px, 4vw, 48px); background: #14233a; color: #eaf2fb; font-family: 'Manrope', var(--cjk), system-ui, sans-serif;
  box-shadow: 0 -10px 30px -12px rgba(0, 0, 0, .4); animation: cc-in .35s ease-out both; }
.cc[hidden] { display: none; }
/* Focused as a whole when reopened from "Cookie settings" (consent.js). */
.cc:focus { outline: none; }
.cc:focus-visible { outline: 3px solid #ff8a3d; outline-offset: -3px; }
/* A language offer already on screen (lang-suggest.js) would sit under the reopened banner. */
html.consent-open .lang-suggest { display: none; }
.cc-icon { flex-shrink: 0; width: 34px; font-size: 30px; line-height: 1; text-align: center; }
.cc-text { flex: 1; margin: 0; font-size: 15px; line-height: 1.55; }
.cc-text b { margin-right: 4px; color: #fff; font-family: 'Rubik', 'Manrope', var(--cjk), system-ui, sans-serif; }
.cc-text a { color: #9fd1ff; text-decoration: underline; text-underline-offset: 3px; }
.cc-text a:hover { color: #fff; }
.cc-btns { display: flex; flex-shrink: 0; gap: 10px; }
.cc-btns button { padding: 11px 18px; border-radius: 12px; font: 700 15px 'Rubik', 'Manrope', system-ui, sans-serif; white-space: nowrap; cursor: pointer; }
.cc-no { border: 2px solid #eaf2fb; background: transparent; color: #eaf2fb; }
.cc-no:hover { background: rgba(234, 242, 251, .1); }
.cc-yes { border: 2px solid #ff8a3d; background: #ff8a3d; color: #fff; box-shadow: 0 3px 0 #c9631f; }
.cc-yes:hover { background: #ff9b57; border-color: #ff9b57; }
.cc :focus-visible { outline: 3px solid #ff8a3d; outline-offset: 3px; }
/* The bar must not cover the end of the page while it is open. */
html.consent-open body { padding-bottom: 110px; }
@keyframes cc-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@media (max-width: 720px) {
  .cc { flex-wrap: wrap; gap: 12px 14px; padding: 14px 16px 16px; }
  /* The icon keeps a fixed width so it stays on the text's line (an emoji is wider than its font size). */
  .cc-icon { width: 26px; align-self: flex-start; font-size: 22px; }
  .cc-text { flex-basis: calc(100% - 40px); font-size: 14px; }
  .cc-btns { width: 100%; }
  .cc-btns button { flex: 1; }
  html.consent-open body { padding-bottom: 230px; }
}
@media (prefers-reduced-motion: reduce) { .cc { animation: none; } }
@media print { .cc { display: none !important; } }

/* "Cookie settings" in the footers: a button that looks like the footer's links (on the landing it also
   takes .footer-privacy's colour and weight, so only the button's own defaults are reset here). */
.cc-settings { padding: 0; border: 0; background: none; font-family: inherit; font-size: inherit; line-height: inherit;
  text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cc-settings:not(.footer-privacy) { color: inherit; }
.pp-foot-cc { margin-top: 8px; }
