.cookie-notice {
  position: fixed;
  z-index: 1100;
  inset-inline: 16px;
  bottom: max(16px, env(safe-area-inset-bottom));
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  width: auto;
  max-width: 760px;
  margin-inline: auto;
  padding: 14px 16px;
  box-sizing: border-box;
  border: 0;
  border: 1px solid #eadfcc;
  box-shadow: 0 8px 30px #071c581f;
  border-radius: 16px;
  background: #fffdf7;
  color: #10194b;
  font: 500 14px/1.5 'Onest', 'Avenir Next', sans-serif;
  letter-spacing: normal;
  text-align: start;
  animation: cookie-notice-arrive .3s cubic-bezier(.16, 1, .3, 1) both;
}
.cookie-notice-art { display: block; width: 48px; height: 48px; object-fit: contain; animation: cookie-notice-spin 3s cubic-bezier(.4,0,.2,1) infinite; transform-origin: center; }
.cookie-notice-copy { min-width: 0; }
.cookie-notice h2 { margin: 0 0 5px; color: inherit; font: 750 16px/1.25 'Onest', 'Avenir Next', sans-serif; letter-spacing: -.02em; }
.cookie-notice p { margin: 0; color: #405278; font: inherit; overflow-wrap: anywhere; }
.cookie-notice a { display: inline-flex; align-items: center; min-height: 44px; color: #0758c8; font: inherit; text-decoration: underline; text-underline-offset: 3px; }
.cookie-notice a:hover { color: #03439e; }
.cookie-notice-accept { min-width: 100px; min-height: 46px; margin: 0; padding: 11px 18px; border: 0; border-radius: 12px; background: #0866e8; color: #fff; font: 650 14px/1.4 'Onest', 'Avenir Next', sans-serif; cursor: pointer; transition: background .15s; }
.cookie-notice-accept:hover { background: #0755c2; }
.cookie-notice-accept:active { background: #064aa8; }
.cookie-notice :is(a, button):focus-visible { outline: 3px solid #b47a14; outline-offset: 4px; }
.cookie-notice ::selection { background: #ffd969; color: #10194b; }
:root[data-theme='dark'] .cookie-notice { border-color: #405475; background: #16243e; color: #f1f5ff; }
:root[data-theme='dark'] .cookie-notice p { color: #c1cfe6; }
:root[data-theme='dark'] .cookie-notice a { color: #9bc9ff; }
:root[data-theme='dark'] .cookie-notice a:hover { color: #c2ddff; }
@keyframes cookie-notice-arrive { from { transform: translateY(10px); } to { transform: translateY(0); } }
@keyframes cookie-notice-spin { 0%,72% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@media (max-width: 640px) {
  .cookie-notice { inset-inline: 8px; bottom: max(8px, env(safe-area-inset-bottom)); grid-template-columns: 40px minmax(0, 1fr) auto; gap: 10px; padding: 12px; border-radius: 14px; }
  .cookie-notice-art { width: 40px; height: 40px; align-self: start; }
  .cookie-notice h2 { font-size: 14px; }
  .cookie-notice p { font-size: 13px; line-height: 1.4; }
  .cookie-notice-accept { min-width: 68px; padding: 10px 12px; }
}
@media (prefers-reduced-motion: reduce) { .cookie-notice { animation: none; } .cookie-notice-accept { transition: none; } }
/* All, necessary-only and decline share the incumbent cookie notice design. */
.cookie-notice-actions { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.cookie-notice[data-cookie-mode="optional"] .cookie-notice-actions { min-width: 180px; }
.cookie-notice-decline { min-height: 46px; padding: 11px 18px; border: 1px solid #b6c7df; border-radius: 12px; background: #fffdf7; color: #10194b; font: 650 14px/1.4 'Onest', 'Avenir Next', sans-serif; cursor: pointer; transition: background .15s; }
.cookie-notice-decline:hover { background: #eef4fb; }
.cookie-notice-decline:active { background: #e1ebf7; }
.cookie-settings-link { display: inline-flex; min-height: 44px; align-items: center; padding: 0 6px; border: 0; background: transparent; color: #0758c8; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cookie-settings-link:focus-visible { outline: 3px solid #b47a14; outline-offset: 3px; }
:root[data-theme='dark'] .cookie-notice-decline { border-color: #6784a9; background: #16243e; color: #f1f5ff; }
:root[data-theme='dark'] .cookie-notice-decline:hover { background: #263e5f; }
:root[data-theme='dark'] .cookie-settings-link { color: #9bc9ff; }
@media (max-width: 640px) { .cookie-notice[data-cookie-mode="optional"] { grid-template-columns: 40px minmax(0,1fr); } .cookie-notice[data-cookie-mode="optional"] .cookie-notice-actions { grid-column: 1 / -1; display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0; } }
@media (prefers-reduced-motion: reduce) { .cookie-notice-decline { transition: none; } }

@media (prefers-reduced-motion: reduce) { .cookie-notice-art { animation: none; } }
