/* Promo popups – ThemePlace. Uses theme colour variables. */
html.tp-pop-lock{overflow:hidden}
.tp-pop{position:fixed;inset:0;z-index:100001;display:flex;align-items:center;justify-content:center;padding:48px 16px 16px;background:rgba(18,20,52,.55);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s}
.tp-pop.is-open{opacity:1;visibility:visible}
.tp-pop__card{position:relative;width:100%;max-width:430px;background:var(--tp-card,#fff);border-radius:24px;box-shadow:0 30px 80px rgba(18,20,52,.35);transform:translateY(18px) scale(.96);transition:transform .3s cubic-bezier(.2,.9,.3,1.2);outline:0}
.tp-pop.is-open .tp-pop__card{transform:none}
.tp-pop__avatar{position:absolute;top:-36px;left:50%;margin-left:-36px;width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--tp-primary);color:#fff;font-weight:800;font-size:26px;line-height:1;border:6px solid #fff;box-shadow:0 8px 20px rgba(18,20,52,.18);z-index:2}
.tp-pop__close{position:absolute;top:14px;right:14px;z-index:3;width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--tp-line,#e7e9f6);border-radius:50%;background:#fff;color:var(--tp-muted,#6b6f8d);cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.tp-pop__close:hover{background:var(--tp-soft);color:var(--tp-primary);border-color:var(--tp-tint-line)}
.tp-pop__body{max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;padding:44px 30px 30px;text-align:center}
.tp-pop__title{margin:0 0 14px;font-size:23px;line-height:1.3;color:var(--tp-ink)}
.tp-pop__text{margin:0 0 20px;font-size:15px;line-height:1.75;color:var(--tp-text)}
.tp-pop__img{width:100%;height:auto;max-height:210px;aspect-ratio:16/9;object-fit:cover;border-radius:14px;border:1px solid var(--tp-line);margin:0 0 20px;background:var(--tp-tint)}
.tp-pop__cta{padding:14px 20px;font-size:15px;font-weight:700;white-space:normal;text-align:center}
.tp-pop .tp-pop__cta,.tp-pop .tp-pop__cta:hover{color:#fff}
.tp-pop .tp-pop__cta--wa{background:linear-gradient(135deg,#25d366,#128c4a);box-shadow:0 8px 18px rgba(18,140,74,.3)}
.tp-pop__cta svg{fill:#fff;flex:none}
@media (max-width:480px){
  .tp-pop{padding:44px 12px 12px}
  .tp-pop__body{padding:40px 20px 22px}
  .tp-pop__title{font-size:20px}
  .tp-pop__text{font-size:14px}
}
@media (max-height:520px){.tp-pop{align-items:flex-start;overflow-y:auto}}
@media (prefers-reduced-motion:reduce){.tp-pop,.tp-pop__card{transition:none}}
