/* Pop-ups — modal · lightbox · interstitial · toast · tooltip · exit-intent */
html.pu-lock{overflow:hidden}
.pu-ov{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(18,24,54,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .18s}
.pu-ov.on{opacity:1}
.pu-box{position:relative;max-height:calc(100vh - 2rem);overflow:auto;background:#fff;color:#2a1a10;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.4);width:100%;transform:translateY(14px) scale(.98);transition:transform .22s;outline:0;font-size:1rem;line-height:1.6}
.pu-ov.on .pu-box{transform:none}
.pu-sm{max-width:380px}.pu-md{max-width:520px}.pu-lg{max-width:860px}
.pu-light{background:#fff;color:#2a1a10}
.pu-dark{background:#14122b;color:#f4efe6}.pu-dark .pu-title,.pu-dark h2,.pu-dark h3{color:#f3d58a}.pu-dark a:not(.pu-btn){color:#f3d58a}
.pu-brand{background:var(--primary,#8c2f1b);color:#fff}.pu-brand .pu-title,.pu-brand h2,.pu-brand h3{color:#fff}.pu-brand a:not(.pu-btn){color:#ffe7a8}
.pu-accent{background:#f4b942;color:#3a1d0a}.pu-accent .pu-title,.pu-accent h2{color:#3a1d0a}
.pu-x{position:absolute;top:.5rem;right:.5rem;z-index:3;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:#2a1a10;font-size:1.7rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.pu-x:hover,.pu-x:focus-visible{background:#fff;outline:2px solid var(--primary,#8c2f1b)}
.pu-img{display:block;width:100%;height:auto;max-height:46vh;object-fit:cover}
.pu-content{padding:1.5rem 1.6rem 1.7rem}.pu-content>*:first-child{margin-top:0}
.pu-title{margin:0 0 .5rem;font-size:1.6rem;line-height:1.2}
.pu-body p{margin:.4rem 0 .8rem}.pu-body ul,.pu-body ol{padding-left:1.2rem}.pu-body img{max-width:100%;border-radius:8px}
.pu-btn{display:inline-block;margin-top:.6rem;padding:.8rem 1.5rem;border-radius:99px;background:var(--primary,#8c2f1b);color:#fff!important;text-decoration:none;font-weight:700}
.pu-btn:hover{filter:brightness(1.1)}.pu-dark .pu-btn,.pu-brand .pu-btn{background:#f3d58a;color:#1a1530!important}.pu-accent .pu-btn{background:#3a1d0a;color:#ffe9b8!important}
.pu-ad{display:inline-block;margin-bottom:.4rem;font:600 .68rem/1 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#7a6a5a;border:1px solid currentColor;border-radius:4px;padding:.2rem .4rem;opacity:.8}
.pu-form{margin-top:.8rem}.pu-form .nl-form{max-width:none}.pu-form .nl-row input[type=email]{border-radius:10px}
.pu-msg{margin:.6rem 0 0;padding:.6rem .8rem;border-radius:8px;font-weight:600;font-size:.92rem}.pu-msg.ok{background:#e4f4e4;color:#1d5a2a}.pu-msg.err{background:#fde6e0;color:#8a2c14}
/* lightbox */
.pu-t-lightbox{background:rgba(8,8,18,.9)}
.pu-t-lightbox .pu-box{background:transparent;box-shadow:none;max-width:min(1200px,96vw);text-align:center;color:#fff;overflow:visible}
.pu-t-lightbox .pu-lb-img{max-width:100%;max-height:78vh;width:auto;height:auto;border-radius:10px;box-shadow:0 10px 50px rgba(0,0,0,.6);background:#222}
.pu-t-lightbox .pu-lb-cap{margin:.8rem auto 0;max-width:720px;font-size:.98rem}.pu-t-lightbox .pu-lb-cap strong{display:block;font-size:1.15rem}
.pu-t-lightbox .pu-x{top:-.2rem;right:-.2rem}
@media(max-width:640px){.pu-t-lightbox .pu-x{top:.4rem;right:.4rem}}
/* interstitial: full screen */
.pu-t-interstitial{background:#0f1126;padding:0}
.pu-t-interstitial .pu-box{max-width:none;width:100%;height:100%;max-height:none;border-radius:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}
.pu-t-interstitial .pu-img{max-height:55vh;width:auto;max-width:min(960px,100%);border-radius:14px}
.pu-t-interstitial .pu-content{max-width:680px}.pu-t-interstitial .pu-title{font-size:2rem}
.pu-skip{position:absolute;top:1rem;right:1rem;border:1px solid currentColor;background:rgba(0,0,0,.25);color:inherit;border-radius:99px;padding:.6rem 1.1rem;font:600 .95rem Arial,sans-serif;cursor:pointer;min-height:44px}
.pu-skip[disabled]{opacity:.7;cursor:default}
/* toast */
.pu-toasts{position:fixed;z-index:8990;display:flex;flex-direction:column;gap:.6rem;max-width:min(380px,calc(100vw - 1.6rem));pointer-events:none}
.pu-p-br{right:.8rem;bottom:.8rem}.pu-p-bl{left:.8rem;bottom:.8rem}.pu-p-tr{right:.8rem;top:.8rem}.pu-p-tl{left:.8rem;top:.8rem}
.pu-p-top{left:50%;top:.8rem;transform:translateX(-50%)}.pu-p-bottom{left:50%;bottom:.8rem;transform:translateX(-50%)}
.pu-toast{pointer-events:auto;position:relative;display:flex;gap:.8rem;align-items:flex-start;padding:.9rem 3rem .9rem 1rem;border-radius:14px;background:#fff;color:#2a1a10;box-shadow:0 10px 36px rgba(0,0,0,.28);border-left:5px solid var(--primary,#8c2f1b);opacity:0;transform:translateY(12px);transition:opacity .22s,transform .22s;font-size:.95rem;line-height:1.5}
.pu-toast.on{opacity:1;transform:none}.pu-toast.pu-dark{border-left-color:#f3d58a}.pu-toast.pu-brand{border-left-color:#ffe7a8}.pu-toast.pu-accent{border-left-color:#3a1d0a}
.pu-toast .pu-x{top:.35rem;right:.35rem;width:36px;height:36px;font-size:1.3rem;box-shadow:none;background:rgba(0,0,0,.07)}
.pu-toast-img{width:52px;height:52px;border-radius:10px;object-fit:cover;flex:none}.pu-toast-txt strong{display:block}.pu-toast .pu-body p{margin:.2rem 0}.pu-toast .pu-btn{padding:.45rem 1rem;font-size:.88rem;margin-top:.4rem}
/* tooltip */
.pu-tip{position:absolute;z-index:8995;max-width:260px;padding:.55rem .8rem;border-radius:10px;background:#2a1a10;color:#fff;font:500 .88rem/1.45 Arial,sans-serif;box-shadow:0 8px 24px rgba(0,0,0,.3);opacity:0;transition:opacity .15s;pointer-events:none}
.pu-tip.on{opacity:1}.pu-tip.pu-light{background:#fff;color:#2a1a10;border:1px solid #e5d9c8}.pu-tip.pu-brand{background:var(--primary,#8c2f1b)}.pu-tip.pu-accent{background:#f4b942;color:#3a1d0a}.pu-tip.pu-dark{background:#14122b}
.pu-zoomable{cursor:zoom-in}.pu-zoomable:focus-visible{outline:3px solid var(--primary,#8c2f1b);outline-offset:3px}
@media(max-width:640px){.pu-box{border-radius:14px}.pu-content{padding:1.2rem 1.2rem 1.4rem}.pu-title{font-size:1.4rem}.pu-toasts{left:.8rem!important;right:.8rem!important;max-width:none;transform:none!important}}
@media(prefers-reduced-motion:reduce){.pu-ov,.pu-box,.pu-toast,.pu-tip{transition:none!important}}
