/* Neo's seat is at 70% of the image height; his feet hang into reserved header space. */
#cmplz-cookiebanner-container .cmplz-cookiebanner {
 --nm-cookie-neo-width: 160px;
 --nm-cookie-neo-rise: 117px;
 overflow: visible;
 max-height: calc(100svh - var(--nm-cookie-neo-rise) - 20px);
 display: flex;
 flex-direction: column;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner::before {
 content: "";
 position: absolute;
 left: 20px;
 top: calc(-1 * var(--nm-cookie-neo-rise));
 width: var(--nm-cookie-neo-width);
 aspect-ratio: 400 / 419;
 background: url("neo-cookie.webp") center / contain no-repeat;
 z-index: 2;
 pointer-events: none;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header {
 flex-shrink: 0;
 min-height: 48px;
 grid-template-columns: var(--nm-cookie-neo-width) minmax(0, 1fr) 44px;
 column-gap: 10px;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-logo { visibility: hidden; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body {
 flex: 0 1 auto;
 min-height: 0;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner :is(.cmplz-buttons, .cmplz-links, .cmplz-divider) { flex-shrink: 0; }
@media (max-width: 600px) {
 #cmplz-cookiebanner-container .cmplz-cookiebanner {
  --nm-cookie-neo-width: 130px;
  --nm-cookie-neo-rise: 95px;
 }
 #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header {
  padding-top: 36px;
  grid-template-columns: 0 minmax(0, 1fr) 44px;
 }
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title { display: block; }
@media (max-height: 600px) {
 #cmplz-cookiebanner-container .cmplz-cookiebanner {
  --nm-cookie-neo-width: 90px;
  --nm-cookie-neo-rise: 66px;
 }
 #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header { padding-top: 22px; }
}

/* A softly offset silhouette falls only on the box below its top edge. */
#cmplz-cookiebanner-container .cmplz-cookiebanner::after {
 content: "";
 position: absolute;
 left: 24px;
 top: calc(6px - var(--nm-cookie-neo-rise));
 width: var(--nm-cookie-neo-width);
 aspect-ratio: 400 / 419;
 background: url("neo-cookie.webp") center / contain no-repeat;
 filter: brightness(0) blur(4px);
 opacity: .2;
 clip-path: inset(calc(var(--nm-cookie-neo-rise) - 6px) -12px -12px -12px);
 z-index: 1;
 pointer-events: none;
}

/* Frosted consent surface; keep an opaque fallback without backdrop support. */
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
 #cmplz-cookiebanner-container .cmplz-cookiebanner {
  background: color-mix(in srgb, var(--nm-ui-surface) 80%, transparent);
  -webkit-backdrop-filter: blur(16px) saturate(135%);
  backdrop-filter: blur(16px) saturate(135%);
 }
}

/* Blur the entire page only while the consent dialog is open. */
#cmplz-cookiebanner-container:has(.cmplz-cookiebanner.cmplz-show:not(.cmplz-dismissed))::before {
 content: "";
 position: fixed;
 inset: 0;
 z-index: 99998;
 pointer-events: none;
 background: rgb(0 0 0 / 12%);
 -webkit-backdrop-filter: blur(8px);
 backdrop-filter: blur(8px);
}
