/* Card Coyote Welcome Offer. Uses the Card Coyote Shop theme tokens, with fallbacks. Fixed position: no layout shift. */
.ccw{position:fixed;inset:0;z-index:9990;display:flex;align-items:center;justify-content:center;padding:16px;pointer-events:none}
.ccw[hidden],.ccw-toast[hidden]{display:none}
.ccw__backdrop{position:absolute;inset:0;background:rgba(18,9,35,.55);pointer-events:auto;opacity:0;transition:opacity .2s ease}
.ccw__panel{position:relative;pointer-events:auto;width:min(460px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--bg,#fff);color:var(--text,#1b1530);border-radius:var(--r-lg,16px);box-shadow:0 24px 60px rgba(18,9,35,.35);padding:30px 26px 20px;text-align:center;font-family:var(--sans,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif);opacity:0;transform:translateY(6px);transition:opacity .22s ease,transform .22s ease}
.ccw.is-open .ccw__backdrop,.ccw.is-open .ccw__panel{opacity:1;transform:none}
.ccw:focus{outline:none}
.ccw__x{position:absolute;right:6px;top:6px;min-width:44px;min-height:44px;border:0;background:transparent;color:var(--ink,#1c0f33);cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center}
.ccw__x:hover{background:var(--bg-2,#f7f5fc)}
.ccw__eyebrow{margin:0 0 4px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--violet,#5a2fd4)}
.ccw__title{font-family:var(--display,Impact,"Arial Narrow",sans-serif);font-weight:400;text-transform:uppercase;font-size:34px;line-height:1.02;margin:0 0 6px;color:var(--ink,#1c0f33)}
.ccw__offer{margin:0 0 8px;font-size:22px;font-weight:800;color:var(--magenta,#b0126a)}
.ccw__lead{margin:0 0 16px;color:var(--muted,#5a5370);font-size:15px;line-height:1.45}
.ccw__label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.ccw__input{width:100%;min-height:48px;padding:10px 14px;border:2px solid var(--line,#cfc7e3);border-radius:8px;font-size:16px;margin:0 0 10px;background:#fff;color:var(--text,#1b1530)}
.ccw__input:focus{border-color:var(--violet,#5a2fd4);outline:3px solid var(--sun,#f6a821);outline-offset:1px}
.ccw__input[aria-invalid=true]{border-color:#b0102a}
.ccw__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.ccw__cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;border:0;border-radius:8px;background:var(--violet,#5a2fd4);color:#fff;font-weight:700;font-size:16px;cursor:pointer;padding:10px 18px}
.ccw__cta:hover{background:var(--violet-d,#4522ad)}
.ccw__cta:disabled{opacity:.75;cursor:progress}
.ccw__cta:focus-visible,.ccw__skip:focus-visible,.ccw__x:focus-visible{outline:3px solid var(--sun,#f6a821);outline-offset:2px}
.ccw__skip{display:block;margin:8px auto 0;background:none;border:0;color:var(--muted,#5a5370);text-decoration:underline;font-size:14px;cursor:pointer;min-height:44px;padding:0 8px}
.ccw__terms{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--muted,#5a5370);text-align:left}
.ccw__terms a{color:var(--violet,#5a2fd4)}
.ccw__err{color:#b0102a;font-size:14px;margin:-2px 0 10px;text-align:left}
.ccw__msg{font-weight:700;color:var(--ink,#1c0f33);margin:0 0 12px}
.ccw__msg:focus{outline:none}
.ccw__code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:26px;font-weight:800;letter-spacing:.08em;color:var(--ink,#1c0f33);background:var(--violet-l,#efeafd);border:2px dashed var(--violet,#5a2fd4);border-radius:10px;padding:12px;margin:0 0 14px}
/* Mobile: compact sheet at the bottom; the page stays visible and usable (no backdrop, no scroll lock). */
.ccw--sheet{align-items:flex-end;padding:0 12px 12px}
.ccw--sheet .ccw__backdrop{display:none}
.ccw--sheet .ccw__panel{width:100%;max-width:480px;max-height:75vh;padding:22px 18px 14px;box-shadow:0 -6px 30px rgba(18,9,35,.28)}
.ccw--sheet .ccw__title{font-size:28px}
.ccw--sheet .ccw__offer{font-size:19px}
.ccw--sheet .ccw__lead{font-size:14px;margin-bottom:12px}
.ccw-toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:9991;max-width:min(520px,calc(100vw - 32px));background:var(--ink,#1c0f33);color:#fff;padding:12px 16px;border-radius:10px;font-size:14px;box-shadow:0 8px 24px rgba(18,9,35,.3)}
@media (prefers-reduced-motion:reduce){.ccw__backdrop,.ccw__panel{transition:none;transform:none}}
