/* NEXUS Experience Gate 5F — public luxury popup, isolated from theme selectors */
.nxc-public-backdrop[hidden]{display:none!important}
.nxc-public-backdrop{position:fixed;inset:0;z-index:2147482500;background:rgba(3,7,15,var(--nxc-dim,.76));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;overflow:auto;padding:20px;overscroll-behavior:contain;opacity:0;transition:opacity .35s ease}
.nxc-public-backdrop.nxc-visible{opacity:1}
.nxc-public-modal{isolation:isolate;position:relative;box-sizing:border-box;width:min(var(--nxc-width,520px),100%);max-height:min(90dvh,880px);overflow:auto;padding:38px 34px 30px;border-radius:var(--nxc-radius,22px);border:var(--nxc-border,1px) solid color-mix(in srgb,var(--nxc-accent) 75%,transparent);background:linear-gradient(135deg,var(--nxc-bg),var(--nxc-bg2));color:var(--nxc-text);box-shadow:0 42px 100px rgba(0,0,0,.53),0 0 65px color-mix(in srgb,var(--nxc-accent) 11%,transparent);text-align:center;font-family:var(--nxc-font),Tahoma,Arial,sans-serif;transform:translateY(28px) scale(.96);opacity:0;transition:transform .42s cubic-bezier(.2,.85,.2,1),opacity .4s ease}
.nxc-visible .nxc-public-modal{transform:none;opacity:1}
.nxc-public-modal:before{content:"";pointer-events:none;position:absolute;inset:0;border-radius:inherit;z-index:-1;background:radial-gradient(ellipse at 20% -10%,color-mix(in srgb,var(--nxc-accent) 19%,transparent),transparent 60%),radial-gradient(ellipse at 110% 100%,color-mix(in srgb,var(--nxc-accent) 13%,transparent),transparent 55%)}
.nxc-public-modal *{box-sizing:border-box}
.nxc-public-ornament{height:4px;width:min(90px,25%);margin:0 auto 20px;background:linear-gradient(90deg,transparent,var(--nxc-accent),transparent);border-radius:100px;box-shadow:0 0 25px var(--nxc-accent)}
.nxc-public-close{position:absolute;top:13px;inset-inline-end:13px;display:grid;place-items:center;width:40px;height:40px;min-width:40px;border:1px solid color-mix(in srgb,var(--nxc-text) 25%,transparent);border-radius:12px;background:color-mix(in srgb,var(--nxc-bg2) 60%,transparent);color:var(--nxc-text);cursor:pointer;font:600 25px/1 Arial,sans-serif;z-index:2}
.nxc-public-close:hover{border-color:var(--nxc-accent);color:var(--nxc-accent)}
.nxc-public-close:focus-visible,.nxc-public-action:focus-visible,.nxc-public-copy-code:focus-visible{outline:3px solid var(--nxc-accent);outline-offset:3px}
.nxc-public-kicker{display:inline-flex;align-items:center;justify-content:center;max-width:calc(100% - 65px);padding:9px 17px;font:800 11px/1.4 var(--nxc-font),Tahoma,sans-serif;letter-spacing:.4px;color:var(--nxc-accent);background:color-mix(in srgb,var(--nxc-accent) 11%,transparent);border:1px solid color-mix(in srgb,var(--nxc-accent) 38%,transparent);border-radius:100px;margin-bottom:17px}
.nxc-public-modal[data-badge="outline"] .nxc-public-kicker{background:transparent;border-style:dashed}
.nxc-public-modal[data-badge="line"] .nxc-public-kicker{border:0;border-bottom:2px solid var(--nxc-accent);background:transparent;border-radius:0}
.nxc-public-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}
.nxc-public-copy{min-width:0;flex:1;max-width:100%}
.nxc-public-image{display:block;width:var(--nxc-image-size,110px);height:auto;max-width:100%;max-height:330px;object-fit:contain;flex:none;filter:drop-shadow(0 15px 25px rgba(0,0,0,.22))}
.nxc-public-symbol{display:grid;place-items:center;color:var(--nxc-accent);font-size:56px;width:90px;height:90px;margin:0 auto;background:color-mix(in srgb,var(--nxc-accent) 13%,transparent);border:1px solid color-mix(in srgb,var(--nxc-accent) 35%,transparent);border-radius:26px}
.nxc-public-content[data-image-shape="circle"] .nxc-public-image{border-radius:50%;aspect-ratio:1;object-fit:cover}
.nxc-public-content[data-image-fit="contain"] .nxc-public-image{object-fit:contain;background:color-mix(in srgb,var(--nxc-accent) 7%,transparent)}
.nxc-public-content[data-image-shape="square"] .nxc-public-image{border-radius:0}
.nxc-public-content[data-image-shape="rounded"] .nxc-public-image{border-radius:22px}
.nxc-public-content[data-image-effect="float"] .nxc-public-image{animation:nxc-img-float 3s ease-in-out infinite}
.nxc-public-content[data-image-effect="pulse"] .nxc-public-image{animation:nxc-img-pulse 2.4s ease-in-out infinite}
.nxc-public-content[data-image-effect="glow"] .nxc-public-image{filter:drop-shadow(0 0 25px var(--nxc-accent))}
@keyframes nxc-img-float{50%{transform:translateY(-9px)}}
@keyframes nxc-img-pulse{50%{transform:scale(1.045)}}
.nxc-public-modal h2{font:900 var(--nxc-heading,22px)/1.35 var(--nxc-font),Tahoma,Arial,sans-serif;color:var(--nxc-text);margin:8px 0 13px;overflow-wrap:anywhere}
.nxc-public-modal p{font:500 15px/1.8 var(--nxc-font),Tahoma,Arial,sans-serif;color:var(--nxc-body);white-space:pre-line;margin:0 0 22px;overflow-wrap:anywhere}
.nxc-public-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;padding:13px 28px;border:1px solid color-mix(in srgb,var(--nxc-button) 55%,transparent);border-radius:var(--nxc-button-radius,12px);background:var(--nxc-button);box-shadow:0 12px 34px color-mix(in srgb,var(--nxc-button) 19%,transparent);color:var(--nxc-button-text)!important;text-decoration:none!important;font:900 14px/1.4 var(--nxc-font),Tahoma,Arial,sans-serif;transition:transform .2s ease,filter .2s ease}
.nxc-public-action:hover{transform:translateY(-2px);filter:brightness(1.08)}
.nxc-public-coupon{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;background:color-mix(in srgb,var(--nxc-accent) 8%,transparent);border:1px dashed color-mix(in srgb,var(--nxc-accent) 65%,transparent);padding:12px;margin-top:22px;border-radius:14px}
.nxc-public-coupon span{color:var(--nxc-body);font-size:12px}.nxc-public-coupon strong{color:var(--nxc-text);font-weight:900;letter-spacing:1px;font-family:monospace;user-select:all}
.nxc-public-copy-code{border:1px solid var(--nxc-accent);color:var(--nxc-text);border-radius:10px;min-height:34px;padding:6px 14px;background:transparent;cursor:pointer}
.nxc-public-copy-feedback{min-height:21px;display:block;margin-top:9px;font-size:12px;font-weight:750;color:var(--nxc-body)}
.nxc-public-copy-feedback[data-status="success"]{color:var(--nxc-accent)}
.nxc-public-copy-code[data-copied="true"]{background:var(--nxc-accent);color:var(--nxc-bg);font-weight:900}
.nxc-public-copy-code:hover{border-color:var(--nxc-text)}
.nxc-public-copy-code:focus-visible{outline:3px solid var(--nxc-accent);outline-offset:2px}
.nxc-public-countdown{display:flex;justify-content:center;align-items:center;gap:9px;margin:18px 0 0;color:var(--nxc-accent);font-weight:900}.nxc-public-countdown span{direction:ltr;font-variant-numeric:tabular-nums;font-size:15px}.nxc-public-countdown small{color:var(--nxc-body);font-size:11px}
/* Real layouts, not color-only presets. */
.nxc-public-modal[data-layout="split"]{width:min(var(--nxc-width,760px),100%);text-align:start}
.nxc-public-modal[data-layout="split"] .nxc-public-content{flex-direction:row;align-items:center;text-align:start}
.nxc-public-modal[data-layout="split"] .nxc-public-image{width:min(var(--nxc-image-size,180px),42%);max-width:42%}
.nxc-public-modal[data-layout="split"] .nxc-public-symbol{flex:none}
.nxc-public-modal[data-layout="ticket"]{border-style:dashed;border-width:max(2px,var(--nxc-border,1px));box-shadow:0 34px 110px #0009;text-align:center}
.nxc-public-modal[data-layout="ticket"] .nxc-public-coupon{border-style:solid;background:color-mix(in srgb,var(--nxc-accent) 16%,transparent)}
.nxc-public-modal[data-layout="floating"]{width:min(var(--nxc-width,390px),100%);padding:26px 24px 24px;box-shadow:0 20px 70px #0009}
.nxc-public-modal[data-layout="floating"] .nxc-public-image{max-height:140px}
.nxc-public-modal[data-layout="immersive"]{width:min(var(--nxc-width,860px),100%);min-height:min(68vh,660px);display:flex;flex-direction:column;justify-content:center;padding:48px 36px}
.nxc-public-modal[data-layout="immersive"] .nxc-public-image{max-height:290px}
.nxc-public-content[data-image-position="left"]{flex-direction:row}.nxc-public-content[data-image-position="right"]{flex-direction:row-reverse}
:dir(rtl) .nxc-public-content[data-image-position="left"]{flex-direction:row-reverse}
:dir(rtl) .nxc-public-content[data-image-position="right"]{flex-direction:row}
.nxc-public-modal[data-entry="fade"]{transform:none;opacity:0}.nxc-visible .nxc-public-modal[data-entry="fade"]{transform:none;opacity:1}
.nxc-public-modal[data-entry="zoom"]{transform:scale(.78)}.nxc-visible .nxc-public-modal[data-entry="zoom"]{transform:scale(1)}
.nxc-public-modal[data-entry="slide"]{transform:translateX(65px)}:dir(rtl) .nxc-public-modal[data-entry="slide"]{transform:translateX(-65px)}.nxc-visible .nxc-public-modal[data-entry="slide"]{transform:none}
@media(max-width:680px){.nxc-public-backdrop{padding:14px}.nxc-public-modal,.nxc-public-modal[data-layout]{width:100%;max-height:88dvh;padding:32px 20px 24px;min-height:0}.nxc-public-modal[data-layout="split"] .nxc-public-content,.nxc-public-content[data-image-position="left"],.nxc-public-content[data-image-position="right"]{flex-direction:column;text-align:center}.nxc-public-modal h2{font-size:min(var(--nxc-heading),32px)}.nxc-public-image{max-height:195px!important}}
@media(prefers-reduced-motion:reduce){.nxc-public-backdrop,.nxc-public-modal,.nxc-public-image,.nxc-public-action{transition:none!important;animation:none!important;transform:none!important}}
/* Template typography uses broad !important rules; keep the campaign's scoped values. */
html body #nxc-public-backdrop .nxc-public-modal,html body #nxc-public-backdrop .nxc-public-modal h2,html body #nxc-public-backdrop .nxc-public-modal p,html body #nxc-public-backdrop .nxc-public-modal a,html body #nxc-public-backdrop .nxc-public-modal button{font-family:var(--nxc-font),Tahoma,Arial,sans-serif!important}
html body #nxc-public-backdrop .nxc-public-modal h2{color:var(--nxc-text)!important;-webkit-text-fill-color:var(--nxc-text)!important}
html body #nxc-public-backdrop .nxc-public-modal p{color:var(--nxc-body)!important;-webkit-text-fill-color:var(--nxc-body)!important}
html body #nxc-public-backdrop .nxc-public-action{color:var(--nxc-button-text)!important;-webkit-text-fill-color:var(--nxc-button-text)!important}

/* Gate 5H: mobile breathing room and safe-area handling, no visual changes to old themes. */
@media(max-width:680px){
 .nxc-public-backdrop{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));}
 .nxc-public-modal,.nxc-public-modal[data-layout]{max-height:calc(100dvh - 24px);overflow-y:auto;scrollbar-width:thin;}
 .nxc-public-copy{width:100%}
 .nxc-public-coupon{gap:8px}
 .nxc-public-coupon strong{overflow-wrap:anywhere}
}
