/* Isolated campaign overlay; existing pages keep their layout. */
.egp[hidden]{display:none!important}
.egp,.egp *{box-sizing:border-box}
.egp{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:24px;background:#080b12bf;font:300 16px/1.65 usual,sans-serif;color:#eef0f4}
.egp .egp-dialog{position:relative;width:min(620px,100%);max-height:calc(100dvh - 48px);overflow:auto;padding:48px;background:linear-gradient(135deg,#272d37,#171b24);border:1px solid #ffffff30;border-radius:8px;box-shadow:0 24px 90px #0008;animation:egp-enter .2s ease-out}
.egp .egp-dialog::before{content:'';position:absolute;left:20px;top:20px;width:20px;height:20px;border-left:2px solid #c00d0d;border-top:2px solid #c00d0d;pointer-events:none}
.egp .egp-heading h2{font:300 32px/1.25 usual,sans-serif;color:#f1f2f5;letter-spacing:0;text-transform:none;margin:0 20px 24px 0;clear:none}
.egp .egp-details p{font:300 16px/1.65 usual,sans-serif!important;color:#c1c6d0;letter-spacing:0;margin:0 0 16px}
.egp .egp-details .egp-value{color:#fff;margin:20px 0 28px}
.egp strong{font-weight:600}
.egp .egp-details .egp-scarcity,.egp .egp-details .egp-fineprint{font-size:13px!important}
.egp .egp-details .egp-counter{font-weight:600!important;color:#fff;margin-bottom:12px}
.egp .egp-actions{display:flex;align-items:center;gap:16px;margin-top:24px}
.egp .egp-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;background:#c00d0d;border:1px solid #eb4747;border-radius:5px;color:#fff;font:600 15px/1.5 usual,sans-serif;text-decoration:none;white-space:nowrap}
.egp .egp-cta:hover{background:#a90b0b}
.egp .egp-close,.egp .egp-decline{background:transparent;border:0;box-shadow:none;text-shadow:none;color:#c1c6d0;cursor:pointer;border-radius:3px;min-height:44px;font:300 14px/1.5 usual,sans-serif;padding:8px}
.egp .egp-decline{text-decoration:underline;white-space:nowrap}
.egp .egp-close{position:absolute;left:auto;bottom:auto;right:10px;top:10px;width:44px;transform:none;display:grid;place-items:center;font-size:30px;line-height:1}
.egp :focus-visible{outline:3px solid #ffb0b0;outline-offset:3px}
.egp .egp-details:focus-visible{outline-offset:-3px}
@keyframes egp-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:767px){
 /* Reserve 56px for CCM19 plus its usual 20px edge offset and 12px clearance. */
 .egp{inset:auto 14px calc(88px + env(safe-area-inset-bottom,0px));padding:0;background:transparent;display:block;pointer-events:none}
 .egp .egp-dialog{pointer-events:auto;width:100%;height:auto;max-height:45dvh;padding:14px 18px 8px;border:2px solid #c00d0d;border-radius:12px;background:linear-gradient(135deg,#343c49,#262d39);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 40px #000b,0 0 0 1px #ffffff1a}
 .egp .egp-dialog::before{left:8px;top:10px;width:12px;height:12px}
 .egp .egp-heading{flex:none;padding-right:30px}
 .egp .egp-heading h2{font-size:17px;line-height:1.3;margin:0 0 8px}
 .egp .egp-close{right:0;top:0}
 .egp .egp-details{min-height:0;overflow:visible;flex:none}
 .egp .egp-details p{font-size:13px!important;line-height:1.5;margin-bottom:8px}
 .egp .egp-details>p:first-child,.egp .egp-details .egp-scarcity,.egp .egp-details .egp-fineprint{display:none}
 .egp .egp-details .egp-value{margin:8px 0}
 .egp .egp-details .egp-scarcity,.egp .egp-details .egp-fineprint{font-size:12px!important}
 .egp .egp-actions{flex:none;margin-top:8px;gap:6px}
 .egp .egp-cta{font-size:12px;padding:10px 12px;min-height:44px;flex:1}
 .egp .egp-decline{font-size:12px;padding:6px}
}
@media(prefers-reduced-motion:reduce){.egp .egp-dialog{animation:none}}

.egp .egp-dialog:focus{outline:none}

/* Created only by the explicit debug parameter; never intercepts input. */
.egp-debug{position:fixed;left:8px;bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:100002;pointer-events:none;max-width:calc(100vw - 16px);margin:0;padding:8px;background:#000b;color:#fff;font:11px/1.3 monospace;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:4px}
