/* =========================
   PRIVACY NOTICE · XCANDLES
   ========================= */

.pn-wrap {
  position: fixed;
  left: 24px;
  bottom: 24px;

  width: min(560px, calc(100% - 48px));
  z-index: 99999;

  opacity: 0;
  pointer-events: none;
  transform: translateY(18px);

  transition:
    opacity 0.45s cubic-bezier(.22,.61,.36,1),
    transform 0.45s cubic-bezier(.22,.61,.36,1);
}

.pn-wrap.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.pn-content {
  display: flex;
  flex-direction: column;
  gap: 18px;

  padding: 24px;
  border-radius: 32px;

  background: rgba(247, 242, 235, 0.78);
  backdrop-filter: blur(24px) saturate(1.18);
  -webkit-backdrop-filter: blur(24px) saturate(1.18);

  border: 1px solid rgba(255,255,255,.62);

  box-shadow:
    0 20px 60px rgba(31,24,18,.14),
    inset 0 1px 0 rgba(255,255,255,.42);
}

.pn-text {
  display: flex;
  flex-direction: column;
  gap: 8px;

  font-family: "Inter", sans-serif;
  color: #141414;
}

.pn-text strong {
  font-size: .76rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 500;
}

.pn-text span {
  max-width: 470px;
  font-size: .88rem;
  line-height: 1.58;
  color: rgba(20,20,20,.76);
}

.pn-link {
  width: fit-content;
  margin-top: 4px;

  font-size: .76rem;
  line-height: 1.35;
  color: rgba(20,20,20,.76);
  text-decoration: underline;
  text-underline-offset: 4px;
  opacity: .85;
}

.pn-link:hover {
  opacity: 1;
}

.pn-actions {
  width: 100%;
}

.pn-btn {
  appearance: none !important;
  -webkit-appearance: none !important;

  border: none !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

.pn-btn-dark {
  width: 100% !important;
  min-height: 52px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0 28px !important;
  border-radius: 999px !important;

  background: rgba(15,15,15,.94) !important;
  color: #fff !important;

  font-family: "Inter", sans-serif !important;
  font-size: .76rem !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;

  box-shadow: 0 12px 30px rgba(0,0,0,.16) !important;
  cursor: pointer !important;

  transition:
    transform .28s ease,
    opacity .28s ease,
    background .28s ease !important;
}

.pn-btn-dark:hover {
  transform: translateY(-1px);
  background: #000 !important;
}



@media (max-width:640px){
  .pn-wrap{
    left:14px;
    right:14px;
    bottom:14px;
    width:auto;
  }

  .pn-content{
    padding:22px;
    border-radius:28px;
  }

  .pn-text span{
    font-size:.84rem;
  }

  .pn-btn-dark{
    min-height:50px !important;
  }
}