[hidden] { display: none !important; }
.cookie-panel {
  position: fixed; inset: auto 16px 16px auto; z-index: 1100;
  width: min(480px, calc(100% - 32px)); max-width: none;
  margin: 0; padding: 16px; box-sizing: border-box;
  max-height: min(70vh, 520px); overflow-y: auto;
  color: #f3edf9; background: #1f172c; border: 1px solid #a88ac9;
  border-radius: 10px; box-shadow: 0 4px 18px #0006; text-align: left;
}
.cookie-panel h2, .cookie-panel p, .cookie-panel label { color: #f3edf9; text-align: left; }
.cookie-panel h2 { font-size: 18px; line-height: 1.3; margin: 0 0 8px; }
.cookie-panel p { font-size: 14px; line-height: 1.5; margin: 0 0 10px; }
.cookie-panel a { color: #dcc1fa; text-decoration: underline; }
.cookie-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.cookie-panel button {
  display: inline-block; width: 100%; margin: 0; padding: 8px 6px;
  min-height: 44px; background: #59258a; color: #fff;
  border: 1px solid #aa80d2; border-radius: 6px;
  font-size: 14px; line-height: 1.3; font-weight: 500;
  box-shadow: none; text-align: center;
}
.cookie-panel button:hover { background: #7036a2; border-color: #ccb0e6; }
.cookie-panel :focus-visible { outline: 2px solid #f1d9ff; outline-offset: 3px; }
#cookie-settings { margin-top: 12px; border-top: 1px solid #76538f; padding-top: 12px; }
#cookie-settings label { font-size: 14px; line-height: 1.5; }
#cookie-settings button { width: auto; padding-inline: 14px; }
.cookie-panel #cookie-status:empty { display: none; }
.cookie-panel #cookie-status:not(:empty) { margin: 10px 0 0; }
footer { max-height: none; height: auto; padding-bottom: 12px; }
footer .cookie-preferences-row { margin: 0; padding: 0; line-height: 1.4; }
footer button.cookie-preferences-link {
  display: inline-block; width: auto; min-height: 44px;
  margin: 0; padding: 8px 10px; background: transparent;
  border: 1px solid transparent; box-shadow: none; color: #dcc1fa;
  font-size: 14px; line-height: 1.4; text-decoration: underline;
  text-underline-offset: 3px; border-radius: 4px;
}
footer button.cookie-preferences-link:hover { color: #fff; background: #59258a44; border-color: transparent; }
footer button.cookie-preferences-link:focus-visible { outline: 2px solid #f1d9ff; outline-offset: 2px; }
footer p, footer a { color: #dcc1fa; }
body > header h2, main h1, main h2, main h3 { color: #efe5ff; }
main em { color: #ddd3e8; }
@media (max-width: 360px) {
  .cookie-panel { inset-inline: 8px; bottom: 8px; width: calc(100% - 16px); padding: 12px; }
  .cookie-actions { gap: 6px; }
  .cookie-panel button { font-size: 13px; }
}
.skip-link { position: fixed; top: .5rem; left: .5rem; transform: translateY(-200%); z-index: 1100; background: #fff; color: #361052; padding: .5rem; }
.skip-link:focus { transform: none; }
.legal-content { max-width: 75ch; margin-inline: auto; padding: 1.5rem; background: #15151f; color: #eee; text-align: left; }
.legal-content p, .legal-content li { text-align: left; font-weight: normal; }
.legal-content a { color: #cfb6ff; text-decoration: underline; }
.legal-content h1, .legal-content h2, .legal-content h3 { color: #eee; }
:focus-visible { outline: 3px solid #e0c9ff; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
