/* ============================================================
   Cookie notice — blue-palette vertical bar docked to the right edge (bottom sheet
   on mobile). Loaded after style.css on every marketing page so it
   overrides the base .cookie-notice rules (same specificity).
   ============================================================ */
.cookie-notice {
  top: 50%;
  bottom: auto;
  right: 0;
  left: auto;
  transform: translateY(-50%);
  width: min(340px, calc(100vw - 32px));
  max-height: 86vh;
  border-radius: 24px 0 0 24px;
  background: #ffffff;
  border: 1px solid #e6e9f0;
  border-right: none;
  box-shadow: -24px 30px 60px -24px rgba(11,15,25,0.24);
  display: flex;
  flex-direction: column;
  position: fixed;
}
.cookie-notice::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, #2f5cff, #7c96ff);
}
.cookie-notice__intro {
  padding: 32px 24px 20px 30px;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}
.cookie-notice__intro h2 {
  font-family: 'Manrope', system-ui, -apple-system, sans-serif;
  font-size: 1.15rem;
  font-weight: 800;
  color: #0b0f19;
}
.cookie-notice__intro p {
  font-family: 'Manrope', system-ui, -apple-system, sans-serif;
  color: #5b6472;
  line-height: 1.6;
}
.cookie-notice__intro a {
  color: #2f5cff;
}
.cookie-notice__options {
  padding: 0 24px 18px 30px;
  font-family: 'Manrope', system-ui, -apple-system, sans-serif;
  color: #5b6472;
}
.cookie-notice__options span {
  color: #2f5cff;
}
.cookie-notice__actions {
  flex: none;
  border-top: 1px solid #e6e9f0;
  padding: 18px 24px 24px 30px;
  gap: 10px;
}
.cookie-notice__actions button {
  border-radius: 999px;
  min-height: 44px;
  font-family: 'Manrope', system-ui, -apple-system, sans-serif;
  font-size: 0.82rem;
}
.cookie-notice__details {
  color: #2f5cff;
}
.cookie-notice__allow {
  background: #2f5cff;
  border-color: #2f5cff;
  color: #fff;
}
.cookie-notice__customise,
.cookie-notice__necessary {
  border-color: #e6e9f0;
  color: #0b0f19;
  background: #fff;
}
.cookie-notice__customise:hover,
.cookie-notice__necessary:hover {
  border-color: #2f5cff;
}
.cookie-notice__customise.is-saving {
  background: #2f5cff;
  color: #fff;
  border-color: #2f5cff;
}

@media (max-width: 720px) {
  .cookie-notice {
    top: auto;
    bottom: 12px;
    right: 16px;
    left: 16px;
    transform: none;
    width: auto;
    max-height: 80vh;
    border-radius: 20px;
    border-right: 1px solid #e6e9f0;
  }
  .cookie-notice::before {
    left: 0; right: 0; top: 0; bottom: auto;
    width: auto; height: 4px;
    background: linear-gradient(90deg, #2f5cff, #7c96ff);
  }
  .cookie-notice__intro,
  .cookie-notice__options,
  .cookie-notice__actions {
    padding-left: 20px;
    padding-right: 20px;
  }
}


/* the cookie panel must never sit on top of an open menu */
body:has(.navbar.is-open) .cookie-notice, body:has(.h-navbar.is-open) .cookie-notice { display: none; }
