.pt-popup-wrap {
  position: fixed;
  z-index: 1010;
  left: 0%;
  top: 0;
  overflow: hidden;
  width: 100vw;
  height: 100vh;
  isolation: isolate;
  transition: 0 all;
  visibility: hidden;
  pointer-events: none;

  --duration: 420ms;

  --btn-close-color: white;
  --btn-close-p: 5px;
  --btn-close-ofx: 20px;
  --btn-close-ofy: 12px;

  --bg-close-color: #000;
  --bg-close-op: 0.8;

  --content-w: 500px;
  --content-max-w: calc(100vw - 24px);
  --content-bg: white;

  --content-py: 30px;
  --content-px: 20px;
}

.pt-popup-wrap.show {
  visibility: visible;
  pointer-events: visible;
}

.pt-popup-inner {
  overflow: hidden;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
}

.pt-popup-content {
  width: fit-content;
  position: relative;
  z-index: 50;
  overflow: hidden;
  transition: var(--duration) all;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transform: scale(0);
  margin: auto;
  max-height: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.pt-popup-bg {
  background-color: var(--bg-close-color);
  position: absolute;
  z-index: 5;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: var(--bg-close-op);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: calc(var(--duration) - 50ms) all;
}

.pt-popup-btn-close {
  position: absolute;
  top: var(--btn-close-ofy);
  right: var(--btn-close-ofx);
  z-index: 500;
  width: 35px;
  font-size: 20px;
  height: 35px;
  padding: var(--btn-close-p);
  color: var(--btn-close-color);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: var(--duration) all;
  line-height: 1;
}


.pt-popup-wrap.show .pt-popup-content {
  visibility: visible;
  opacity: 1;
  transform: scale(1);
}

.pt-popup-wrap.show .pt-popup-btn-close {
  opacity: 1;
  visibility: visible;
  pointer-events: visible;
}

.pt-popup-wrap.show .pt-popup-bg {
  opacity: var(--bg-close-op);
  visibility: visible;
  pointer-events: visible;
}

.pt-popup-btn-open * {
  pointer-events: none;
}



/* Responsive */
@media only screen and (max-width: 849px) {}

@media only screen and (max-width: 550px) {}