/* Approved SCENES essential-cookie information notice, 13 September 2026. */
html { --sn-cookie-notice-height: 0px; scroll-padding-bottom: calc(var(--sn-cookie-notice-height) + 20px); }
body { padding-bottom: var(--sn-cookie-notice-height); }
.sn-cookie-notice[hidden], .sn-cookie-dialog:not([open]) { display: none; }
.sn-cookie-notice {
  position: fixed; inset: auto 0 0; z-index: 90; background: #fff; color: #111;
  border-top: 1px solid #dedede; box-shadow: 0 -4px 22px #0000000d;
  max-height: 100vh; max-height: 100dvh; overflow-y: auto; overscroll-behavior: contain;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.sn-cookie-notice-inner {
  max-width: 1800px; margin: 0 auto; padding: 30px 4.2vw;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px 40px;
}
.sn-cookie-copy h2, .sn-cookie-dialog h2, .sn-cookie-page h1 {
  font-family: "Scenes Italian Plate", Arial, sans-serif; font-weight: 800; font-synthesis: none;
  font-size: clamp(1.5rem, 2.2vw, 2rem); letter-spacing: -.025em; line-height: 1.18; margin: 0 0 12px;
}
.sn-cookie-copy p { font: 400 1rem/1.5 Arial, Helvetica, sans-serif; margin: 0; max-width: 74ch; }
.sn-cookie-actions { display: flex; gap: 12px; }
.sn-cookie-button {
  appearance: none; display: inline-flex; align-items: center; justify-content: center;
  min-height: 50px; min-width: 128px; max-width: 100%; padding: 12px 24px;
  border: 1px solid #111; border-radius: 0; background: #fff; color: #111;
  font: 600 .9375rem/1.35 "Scenes Italian Plate", Arial, sans-serif; font-synthesis: none;
  text-align: center; text-decoration: none; cursor: pointer; overflow-wrap: anywhere;
}
.sn-cookie-button:hover { background: #f2f2f2; }
.sn-cookie-button-dark { background: #000; color: #fff; }
.sn-cookie-button-dark:hover { background: #252525; }
.sn-cookie-button:focus-visible, .sn-cookie-dialog a:focus-visible, .sn-cookie-page a:focus-visible {
  outline: 2px solid #111; outline-offset: 4px;
}
.sn-cookie-modal-open { overflow: hidden; }
.sn-cookie-dialog {
  width: min(760px, calc(100% - 40px)); max-width: none; max-height: calc(100vh - 40px);
  max-height: calc(100dvh - 40px); padding: 0; margin: auto; border: 1px solid #dedede; border-radius: 0;
  background: #fff; color: #111; box-shadow: 0 12px 60px #0003; overflow: hidden;
  font: 400 1rem/1.6 Arial, Helvetica, sans-serif;
}
.sn-cookie-dialog[open] { display: flex; flex-direction: column; }
.sn-cookie-dialog::backdrop { background: #0007; }
.sn-cookie-dialog-content { overflow-y: auto; overscroll-behavior: contain; padding: 32px; min-height: 0; }
.sn-cookie-dialog-actions { flex: none; display: flex; justify-content: flex-end; margin: 0; padding: 16px 32px; border-top: 1px solid #ddd; }
.sn-cookie-dialog p, .sn-cookie-page p { max-width: none; margin: 0 0 20px; }
.sn-cookie-dialog a, .sn-cookie-page a:not(.sn-cookie-button) { text-underline-offset: 3px; }
.sn-cookie-entry { border-top: 1px solid #dedede; margin-top: 24px; padding-top: 24px; }
.sn-cookie-entry h2, .sn-cookie-entry h3 {
  font: 600 1.125rem/1.4 "Scenes Italian Plate", Arial, sans-serif;
  font-synthesis: none; letter-spacing: 0; margin: 0 0 16px;
}
.sn-cookie-entry dl { margin: 0 0 24px; }
.sn-cookie-entry dl > div { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 16px; margin-bottom: 10px; }
.sn-cookie-entry dt { font-weight: 600; }
.sn-cookie-entry dd { margin: 0; overflow-wrap: anywhere; }
.sn-cookie-entry code { font-size: .9375rem; overflow-wrap: anywhere; }
.sn-cookie-page { max-width: 900px; padding: 64px 4.2vw 80px; margin: auto; }
.sn-cookie-page h1 { font-size: clamp(2rem, 4.5vw, 3.5rem); margin-bottom: 24px; }
@media (max-width: 900px) {
  .sn-cookie-notice-inner { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 24px 5vw; }
  .sn-cookie-actions .sn-cookie-button { flex: 1; }
}
@media (max-width: 600px) {
  .sn-cookie-actions { flex-direction: column; gap: 10px; }
  .sn-cookie-actions .sn-cookie-button { width: 100%; }
  .sn-cookie-dialog { width: calc(100% - 24px); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); }
  .sn-cookie-dialog-content { padding: 24px 20px; }
  .sn-cookie-dialog-actions { padding: 16px 20px; padding-bottom: max(16px, env(safe-area-inset-bottom)); }
  .sn-cookie-dialog-actions .sn-cookie-button { width: 100%; }
  .sn-cookie-entry dl > div { grid-template-columns: minmax(0, 1fr); gap: 2px; margin-bottom: 14px; }
  .sn-cookie-page { padding: 40px 5vw 56px; }
}
@media print {
  .sn-cookie-notice, .sn-cookie-dialog { display: none !important; }
  body { padding-bottom: 0; }
}
