.tpo-pop[hidden]{display:none!important}
.tpo-pop{position:fixed;z-index:99990;font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#1f2937}
.tpo-pop--center{inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.6);animation:tpoPopFade .25s ease both}
.tpo-pop--corner,.tpo-pop--top,.tpo-pop--bottom{pointer-events:none}
.tpo-pop--corner .tpo-pop__box,.tpo-pop--top .tpo-pop__box,.tpo-pop--bottom .tpo-pop__box{pointer-events:auto}
.tpo-pop--corner{right:max(16px,env(safe-area-inset-right));bottom:16px;width:min(360px,calc(100vw - 32px))}
.tpo-pop--top{top:0;left:0;right:0;padding:8px}
.tpo-pop--bottom{left:0;right:0;bottom:0}
.tpo-pop__box{position:relative;background:#fff;border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.28);width:100%;max-width:520px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;animation:tpoPopUp .3s ease both;outline:none}
.tpo-pop--side .tpo-pop__box{max-width:780px}
.tpo-pop--top .tpo-pop__box{max-width:1100px;margin:0 auto;border-radius:12px;display:flex;align-items:center;gap:14px}
.tpo-pop--top .tpo-pop__media{flex:0 0 120px}
.tpo-pop--top .tpo-pop__body{padding:10px 44px 10px 0;flex:1}
.tpo-pop--bottom .tpo-pop__box{max-width:none;border-radius:16px 16px 0 0;padding-bottom:env(safe-area-inset-bottom)}
.tpo-pop__media{line-height:0;background:#f3f4f6}
.tpo-pop__media a{display:block}
.tpo-pop__media img{width:100%;height:auto;display:block}
.tpo-pop__body{padding:18px 22px 22px}
.tpo-pop__text>:first-child{margin-top:0}.tpo-pop__text>:last-child{margin-bottom:0}
.tpo-pop__text h1,.tpo-pop__text h2,.tpo-pop__text h3{margin:0 0 .4em;line-height:1.25}
.tpo-pop__x{position:absolute;top:8px;right:8px;z-index:2;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#111;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.25);display:grid;place-items:center;padding:0}
.tpo-pop__x:hover{background:#fff}
.tpo-pop__btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.7em 1.6em;margin-top:14px;border-radius:999px;background:var(--tp-accent,#c2410c);color:#fff!important;font-weight:600;text-decoration:none}
.tpo-pop__btn:hover{filter:brightness(1.08)}
.tpo-pop__coupon{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding:10px 12px;border:2px dashed var(--tp-accent,#c2410c);border-radius:10px;background:#fff7ed}
.tpo-pop__coupon span{font-size:.8rem;color:#6b7280}
.tpo-pop__coupon code{font:700 1.15rem/1.2 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.12em;background:none;padding:0}
.tpo-pop__coupon button{margin-left:auto;border:0;border-radius:999px;padding:.45em 1em;background:#1f2937;color:#fff;font-weight:600;cursor:pointer}
.tpo-pop__cd{margin-top:12px;font:700 1.25rem/1.2 ui-monospace,Menlo,Consolas,monospace;color:var(--tp-accent,#c2410c)}
.tpo-pop__cd small{font:500 .75rem system-ui;color:#6b7280;display:block;margin-bottom:2px}
.tpo-pop--side .tpo-pop__box{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.tpo-pop--side .tpo-pop__media{height:100%}
.tpo-pop--side .tpo-pop__media img{height:100%;object-fit:cover}
.tpo-pop--side .tpo-pop__body{display:flex;flex-direction:column;justify-content:center}
html.tpo-pop-lock{overflow:hidden}
@keyframes tpoPopFade{from{opacity:0}to{opacity:1}}
@keyframes tpoPopUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(max-width:900px){.tpo-pop--corner{bottom:calc(76px + env(safe-area-inset-bottom))}}
@media(max-width:700px){
 .tpo-pop--side .tpo-pop__box{display:block}
 .tpo-pop--top .tpo-pop__box{flex-wrap:wrap}
 .tpo-pop--top .tpo-pop__media{flex-basis:80px}
 .tpo-pop--center{align-items:flex-end;padding:0}
 .tpo-pop--center .tpo-pop__box{border-radius:18px 18px 0 0;max-width:none;padding-bottom:env(safe-area-inset-bottom)}
 .tpo-pop__body{padding:16px 18px 20px}
 .tpo-pop__btn{width:100%}
}
@media(prefers-reduced-motion:reduce){.tpo-pop--center,.tpo-pop__box{animation:none}}
