/* Necessary-only cookie information. The initial notice is not a modal. */
#ca-cookie-notice,
#ca-cookie-settings {
  --ca-cookie-green: #00ff00;
  --ca-cookie-black: #080a0b;
  box-sizing: border-box;
  color: var(--ca-cookie-black);
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  text-align: left;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
}
#ca-cookie-notice *,
#ca-cookie-settings * { box-sizing: border-box; }
#ca-cookie-notice[hidden] { display: none !important; }
#ca-cookie-notice {
  position: fixed;
  z-index: 70; /* Beneath the site's fullscreen navigation and modal layers. */
  right: max(20px, env(safe-area-inset-right));
  bottom: max(20px, env(safe-area-inset-bottom));
  width: min(520px, calc(100vw - max(20px, env(safe-area-inset-left)) - max(20px, env(safe-area-inset-right))));
  max-height: calc(100vh - 40px);
  max-height: calc(100dvh - 40px);
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #e7e7e7;
  border-radius: 24px;
  box-shadow: 0 12px 52px #0003;
  overscroll-behavior: contain;
  touch-action: pan-y;
}
html.menu-open #ca-cookie-notice,
body.sl-menu-open #ca-cookie-notice { visibility: hidden; pointer-events: none; }
.ca-cookie-hero {
  position: relative;
  isolation: isolate;
  min-height: 215px;
  overflow: hidden;
  color: #fff;
  background: var(--ca-cookie-black);
}
.ca-cookie-logo {
  position: absolute;
  z-index: 1;
  left: 22px;
  top: 8px;
  width: 136px;
  height: 102px;
  object-fit: contain;
}
.ca-cookie-blob {
  position: absolute;
  right: -20px;
  top: -35px;
  width: 160px;
  height: 154px;
  object-fit: contain;
  transform: rotate(17deg);
  pointer-events: none;
  filter: drop-shadow(0 0 13px #00ff0033);
}
.ca-cookie-art {
  position: absolute;
  z-index: 1;
  top: 57px;
  right: 21px;
  width: 122px;
  height: 111px;
  object-fit: contain;
  transform: rotate(-10deg);
  pointer-events: none;
}
.ca-cookie-title {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 111px 22px 22px;
  color: #fff;
  font-size: 43px;
  font-weight: 900;
  letter-spacing: -.055em;
  line-height: .98;
}
.ca-cookie-title-line { display: block; }
.ca-cookie-green { color: var(--ca-cookie-green); }
.ca-cookie-content { padding: 20px 22px 22px; }
.ca-cookie-copy { margin: 0 0 16px; color: #44484c; font-size: 15px; line-height: 1.5; }
.ca-cookie-actions { display: flex; align-items: stretch; gap: 10px; }
.ca-cookie-button {
  display: inline-flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin: 0;
  padding: 11px 15px;
  border: 2px solid var(--ca-cookie-black);
  border-radius: 14px;
  background: #fff;
  color: var(--ca-cookie-black);
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}
.ca-cookie-button--primary { background: var(--ca-cookie-green); border-color: var(--ca-cookie-green); }
.ca-cookie-links { margin: 14px 0 0; font-size: 12px; line-height: 1.6; }
.ca-cookie-links a { color: #4c5054; text-decoration: underline; text-underline-offset: 3px; }
.ca-cookie-links a + a { margin-left: 12px; }
.ca-cookie-button:focus-visible,
.ca-cookie-links a:focus-visible,
.ca-cookie-close:focus-visible { outline: 3px solid #008d00; outline-offset: 4px; }
html[data-input-modality="pointer"] .ca-cookie-button:focus,
html[data-input-modality="pointer"] .ca-cookie-close:focus { outline: none; }
@media (hover: hover) {
  .ca-cookie-button:hover { background: #f0f0f0; }
  .ca-cookie-button--primary:hover { background: #00df00; border-color: #00df00; }
  .ca-cookie-links a:hover { color: #000; }
}
#ca-cookie-settings {
  position: fixed;
  inset: 0;
  z-index: 160; /* Fallback only: native dialogs occupy the browser top layer. */
  width: min(520px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 24px;
  overflow-x: hidden;
  overflow-y: auto;
  background: #fff;
  box-shadow: 0 22px 90px #0005;
  overscroll-behavior: contain;
  touch-action: pan-y;
}
#ca-cookie-settings:not([open]) { display: none; }
#ca-cookie-settings::backdrop { background: #080a0b99; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
.ca-cookie-settings-fallback-backdrop {
  position: fixed;
  z-index: 159;
  inset: 0;
  background: #080a0b99;
}
.ca-cookie-settings-fallback-backdrop[hidden] { display: none; }
.ca-cookie-close {
  position: absolute;
  z-index: 4;
  top: 15px;
  right: 15px;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 1px solid #ffffff60;
  border-radius: 50%;
  background: #080a0bd9;
  color: #fff;
  cursor: pointer;
  appearance: none;
}
.ca-cookie-close::before,
.ca-cookie-close::after { content: ""; position: absolute; left: 11px; top: 20px; width: 20px; height: 2px; background: currentColor; border-radius: 3px; }
.ca-cookie-close::before { transform: rotate(45deg); }
.ca-cookie-close::after { transform: rotate(-45deg); }
.ca-cookie-settings-heading { margin: 0 0 12px; font-size: 23px; font-weight: 900; line-height: 1.15; letter-spacing: -.04em; }
.ca-cookie-category { margin: 0 0 15px; padding: 15px; border: 1px solid #dfe2df; border-radius: 16px; background: #f6f7f6; }
.ca-cookie-category-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.ca-cookie-category h4 { margin: 0; font-size: 16px; font-weight: 800; }
.ca-cookie-always-on { display: inline-block; flex: none; padding: 5px 9px; border-radius: 50px; background: #dcffdc; color: #086208; font-size: 11px; font-weight: 800; }
.ca-cookie-category p { margin: 10px 0 0; font-size: 13px; color: #515651; line-height: 1.5; }
.ca-cookie-optional { margin: 0 0 17px; font-size: 14px; font-weight: 700; }
.ca-cookie-status { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
@media (max-width: 600px) {
  #ca-cookie-notice { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); width: min(390px, calc(100vw - max(12px, env(safe-area-inset-left)) - max(12px, env(safe-area-inset-right)))); max-height: calc(100vh - 24px); max-height: calc(100dvh - max(12px, env(safe-area-inset-top)) - max(12px, env(safe-area-inset-bottom))); border-radius: 20px; }
  .ca-cookie-hero { min-height: 189px; }
  .ca-cookie-logo { left: 16px; top: 3px; width: 122px; height: 92px; }
  .ca-cookie-blob { width: 134px; height: 129px; top: -29px; right: -22px; }
  .ca-cookie-art { width: 99px; height: 90px; top: 57px; right: 15px; }
  .ca-cookie-title { padding: 102px 18px 20px; font-size: clamp(30px, 9vw, 35px); }
  .ca-cookie-content { padding: 17px 18px 18px; }
  .ca-cookie-copy { font-size: 14px; }
  .ca-cookie-actions { flex-direction: column; gap: 8px; }
  .ca-cookie-button { padding: 10px 9px; font-size: 12px; }
  #ca-cookie-settings { width: calc(100vw - 24px); max-width: 390px; max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); border-radius: 20px; }
}
@media (max-height: 450px) {
  .ca-cookie-hero { min-height: 150px; }
  .ca-cookie-logo { width: 102px; height: 77px; }
  .ca-cookie-art { top: 40px; width: 95px; height: 87px; }
  .ca-cookie-title { padding-top: 80px; padding-bottom: 16px; font-size: 32px; }
}
