.ep-ov{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,16,14,0.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s var(--ease)}
.ep-ov.on{opacity:1;visibility:visible}
body.ep-lock{overflow:hidden}
.ep{position:relative;width:100%;max-width:440px;background:var(--cream,#fff8f0);border-radius:var(--radius-lg,20px);padding:40px 36px 34px;box-shadow:0 30px 80px rgba(0,0,0,0.35);transform:translateY(18px) scale(.97);transition:transform .4s var(--ease);text-align:center}
.ep-ov.on .ep{transform:translateY(0) scale(1)}
.ep-x{position:absolute;top:14px;right:16px;width:34px;height:34px;font-size:26px;line-height:1;color:var(--muted,#9a8f86);background:none;border:none;cursor:pointer;transition:color .2s}
.ep-x:hover{color:var(--charcoal,#2a2320)}
.ep-eyebrow{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-green,#1f8a70);margin-bottom:12px}
.ep-title{font-family:var(--font-display);font-size:28px;font-weight:800;line-height:1.15;color:var(--charcoal,#2a2320);margin:0 0 10px}
.ep-title strong{color:var(--vivid-red,#fd022b)}
.ep-sub{font-size:14px;line-height:1.55;color:var(--muted,#7a6f66);margin:0 0 22px}
.ep-row{display:flex;flex-direction:column;gap:10px}
.ep-input{width:100%;padding:14px 16px;font-size:15px;font-family:var(--font-body);border:2px solid var(--border,#e7ded4);border-radius:var(--radius-pill,999px);outline:none;background:var(--white,#fff);transition:border-color .2s;text-align:center}
.ep-input:focus{border-color:var(--vivid-red,#fd022b)}
.ep-btn{width:100%;padding:15px;background:var(--vivid-red,#fd022b);color:#fff;font-family:var(--font-display);font-size:16px;font-weight:700;border:none;border-radius:var(--radius-pill,999px);cursor:pointer;box-shadow:0 4px 18px rgba(253,2,43,.25);transition:transform .25s var(--ease),background .25s}
.ep-btn:hover{background:#e00025;transform:translateY(-2px)}
.ep-fine{font-size:11px;color:var(--muted,#9a8f86);margin:14px 0 0;line-height:1.5}
.ep-f .errors,.ep-f ul{list-style:none;padding:0;margin:0 0 12px;font-size:13px;color:var(--vivid-red,#fd022b)}
.ep-check{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:var(--teal-green,#1f8a70);color:#fff;font-size:30px;font-weight:700;display:flex;align-items:center;justify-content:center}
.ep-code{display:inline-flex;flex-direction:column;gap:2px;margin:6px 0 20px;padding:14px 28px;background:var(--lime-yellow,#eef36b);color:var(--charcoal,#2a2320);font-family:var(--font-display);font-size:22px;font-weight:800;letter-spacing:.05em;border:2px dashed var(--charcoal,#2a2320);border-radius:14px;cursor:pointer}
.ep-copy{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.65}
.ep-shop{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--vivid-red,#fd022b);text-decoration:none}
.ep-shop:hover{text-decoration:underline}
@media(max-width:480px){
  .ep{padding:34px 22px 28px}
  .ep-title{font-size:24px}
  .ep-code{font-size:19px;padding:12px 22px}
}
