.privacy-notice-banner {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: 24px;
  pointer-events: auto;
  background: rgba(1, 6, 14, 0.82);
  backdrop-filter: blur(10px);
}

body.privacy-notice-open { overflow: hidden !important; }

.privacy-notice-banner.privacy-notice-hidden {
  display: none;
}

.privacy-notice-content {
  width: min(720px, 100%);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px 18px;
  align-items: center;
  padding: clamp(22px, 4vw, 36px);
  border-radius: 18px;
  border: 1px solid rgba(46, 203, 255, 0.42);
  background:
    linear-gradient(135deg, rgba(10, 16, 28, 0.96), rgba(3, 8, 16, 0.98)),
    rgba(5, 10, 18, 0.96);
  box-shadow:
    0 18px 60px rgba(0, 0, 0, 0.55),
    0 0 28px rgba(46, 203, 255, 0.12);
  color: #f7f0df;
  pointer-events: auto;
  backdrop-filter: blur(10px);
}

.privacy-notice-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(46, 203, 255, 0.12);
  border: 1px solid rgba(46, 203, 255, 0.34);
  color: #7fe2ff;
  font-size: 1.25rem;
}

.privacy-notice-text strong {
  display: block;
  margin-bottom: 4px;
  color: #2ecbff;
  font-size: 1rem;
  letter-spacing: 0.01em;
}

.privacy-notice-text p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.9rem;
  line-height: 1.45;
}

.privacy-notice-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 14px;
  align-items: center;
  margin-top: 4px;
  white-space: nowrap;
}

.privacy-notice-actions .privacy-notice-link { justify-self: start; }
.privacy-notice-actions .privacy-notice-language { justify-self: center; }
.privacy-notice-actions .privacy-notice-button { justify-self: end; }

.privacy-notice-language {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.privacy-notice-link {
  color: #2ecbff;
  text-decoration: underline;
  text-underline-offset: 3px;
  background: transparent;
  border: none;
  cursor: pointer;
  font: inherit;
}

.privacy-notice-button {
  min-width: 110px;
  padding: 11px 16px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(180deg, #2ecbff, #0b74d8);
  color: #03111d;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(46, 203, 255, 0.22);
}

.privacy-notice-button:hover {
  filter: brightness(1.08);
}

@media (max-width: 780px) {
  .privacy-notice-banner {
    padding: 12px;
  }

  .privacy-notice-content {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 14px;
  }

  .privacy-notice-icon {
    display: none;
  }

  .privacy-notice-actions {
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 10px;
  }

  .privacy-notice-language {
    justify-content: center;
    order: 2;
  }

  .privacy-notice-link,
  .privacy-notice-button {
    width: 100%;
    text-align: center;
  }

  .privacy-notice-link {
    order: 1;
  }

  .privacy-notice-button {
    order: 3;
  }
}

/* FANTASY TECHNICAL NOTICE */
.privacy-notice-banner {
  background:
    radial-gradient(circle at 50% 50%, rgba(18, 91, 131, 0.12), transparent 50%),
    rgba(0, 7, 14, 0.94);
}

.privacy-notice-content {
  position: relative;
  isolation: isolate;
  border: 1px solid rgba(176, 137, 61, 0.82);
  border-radius: 7px;
  background:
    radial-gradient(circle at 50% -15%, rgba(21, 123, 174, 0.2), transparent 52%),
    linear-gradient(145deg, rgba(6, 25, 39, 0.99), rgba(2, 10, 18, 0.99));
  box-shadow:
    inset 0 0 0 4px rgba(0, 0, 0, 0.38),
    inset 0 0 0 5px rgba(188, 146, 64, 0.13),
    0 22px 64px rgba(0, 0, 0, 0.72),
    0 0 28px rgba(19, 139, 193, 0.13);
}

.privacy-notice-content::before {
  content: "";
  position: absolute;
  inset: 7px;
  z-index: -1;
  border: 1px solid rgba(206, 162, 77, 0.15);
  border-radius: 3px;
  pointer-events: none;
}

.privacy-notice-content > * {
  position: relative;
  z-index: 1;
}

.privacy-notice-icon {
  border: 1px solid rgba(184, 143, 61, 0.72);
  border-radius: 5px;
  background:
    radial-gradient(circle at 50% 20%, rgba(49, 179, 231, 0.2), transparent 62%),
    rgba(4, 17, 28, 0.96);
  box-shadow: inset 0 0 12px rgba(17, 115, 162, 0.16), 0 0 13px rgba(0, 0, 0, 0.5);
  color: #f0d694;
}

.privacy-notice-title {
  color: #f3dfaa;
  font-family: "Cinzel", Georgia, serif;
  letter-spacing: 0.04em;
  text-shadow: 0 2px 3px #000, 0 0 12px rgba(200, 158, 75, 0.16);
}

.privacy-notice-text p {
  color: rgba(228, 237, 244, 0.84);
}

.privacy-notice-link {
  color: #83ddff;
  text-decoration-color: rgba(131, 221, 255, 0.62);
  text-underline-offset: 4px;
}

.privacy-notice-language .language-btn {
  width: 42px;
  height: 36px;
  border: 1px solid rgba(171, 135, 68, 0.68);
  border-radius: 4px;
  background: linear-gradient(180deg, rgba(19, 34, 46, 0.98), rgba(4, 12, 20, 0.99));
  box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.38), 0 4px 12px rgba(0, 0, 0, 0.32);
}

.privacy-notice-language .language-btn:is(:hover, :focus-visible, .active) {
  border-color: #79d8ff;
  background: linear-gradient(180deg, rgba(17, 61, 85, 0.98), rgba(4, 21, 34, 0.99));
  box-shadow:
    inset 0 0 0 2px rgba(0, 0, 0, 0.42),
    0 0 15px rgba(39, 183, 239, 0.25);
}

.privacy-notice-button {
  position: relative;
  min-height: 48px;
  overflow: hidden;
  border: 1px solid rgba(112, 214, 255, 0.8);
  border-radius: 5px;
  background:
    radial-gradient(circle at 50% 0%, rgba(35, 169, 226, 0.24), transparent 58%),
    linear-gradient(180deg, rgba(10, 38, 56, 0.99), rgba(3, 14, 24, 0.99));
  box-shadow:
    inset 0 0 0 2px rgba(0, 0, 0, 0.43),
    inset 0 1px 0 rgba(220, 248, 255, 0.22),
    0 0 18px rgba(30, 169, 224, 0.18);
  color: #edfaff;
  font-family: "Cinzel", Georgia, serif;
  font-weight: 700;
  letter-spacing: 0.045em;
  text-shadow: 0 1px 2px #000;
}

.privacy-notice-button::after {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1px solid rgba(127, 217, 251, 0.14);
  border-radius: 2px;
  pointer-events: none;
}

.privacy-notice-button:is(:hover, :focus-visible) {
  border-color: #b7ecff;
  background:
    radial-gradient(circle at 50% 0%, rgba(52, 190, 243, 0.31), transparent 60%),
    linear-gradient(180deg, rgba(13, 52, 75, 0.99), rgba(3, 18, 30, 0.99));
  box-shadow:
    inset 0 0 0 2px rgba(0, 0, 0, 0.43),
    inset 0 1px 0 rgba(234, 251, 255, 0.3),
    0 0 25px rgba(45, 187, 239, 0.31);
  filter: brightness(1.1);
  transform: translateY(-1px);
}

@media (max-width: 780px) {
  .privacy-notice-content {
    width: min(100%, 560px);
    max-height: calc(100svh - 24px);
    overflow-y: auto;
    padding: 22px 18px 18px;
  }

  .privacy-notice-actions {
    gap: 14px;
  }

  .privacy-notice-button {
    width: 100%;
  }
}

/* Footer control remains a plain legal link, never a framed CTA. */
.site-footer .privacy-notice-reopen {
  appearance: none;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #f2b544;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: normal;
  line-height: inherit;
  text-shadow: none;
  opacity: 0.82;
  cursor: pointer;
}

.site-footer .privacy-notice-reopen::after {
  content: none;
  display: none;
}

.site-footer .privacy-notice-reopen:is(:hover, :focus-visible) {
  border: 0;
  background: transparent;
  box-shadow: none;
  filter: none;
  transform: none;
  opacity: 1;
}
