.promo-popup{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(2,8,20,.06);overflow:hidden}
.promo-popup__fireworks{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;object-position:center;filter:saturate(1.55) contrast(1.15) brightness(1.08);opacity:.38;mix-blend-mode:screen;pointer-events:none}
.promo-popup::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(0,0,0,0) 0,rgba(0,6,18,.02) 70%,rgba(0,4,12,.08) 100%);pointer-events:none}
.promo-popup[hidden]{display:none}.promo-popup__box{position:relative;display:flex;flex-direction:column;width:min(620px,96vw,calc((100dvh - 100px)*.597));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:hidden;border:2px solid #d7b45a;border-radius:18px;background:#061426;box-shadow:0 24px 80px rgba(0,0,0,.65),0 0 35px rgba(220,181,82,.28)}
.promo-popup__box{z-index:2;animation:promoPop .55s cubic-bezier(.2,.9,.25,1.2) both}
@keyframes promoPop{0%{opacity:0;transform:scale(.72)}70%{opacity:1;transform:scale(1.035)}100%{transform:scale(1)}}
.promo-popup__viewport{position:relative;min-height:0;overflow:hidden;background:#061426;touch-action:pan-y}.promo-popup__track{display:flex;width:100%;transition:transform .38s cubic-bezier(.22,.8,.3,1)}.promo-popup__slide{display:block;flex:0 0 100%;width:100%;background:transparent}.promo-popup__image{display:block;width:100%;height:auto;object-fit:contain;background:transparent}.promo-popup__nav{position:absolute;top:50%;z-index:8;width:40px;height:54px;border:1px solid rgba(255,255,255,.72);background:rgba(2,12,30,.68);color:#fff;font-size:36px;line-height:46px;transform:translateY(-50%);cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.35)}.promo-popup__prev{left:6px;border-radius:0 12px 12px 0}.promo-popup__next{right:6px;border-radius:12px 0 0 12px}.promo-popup__dots{position:absolute;left:50%;bottom:62px;z-index:9;display:flex;gap:8px;transform:translateX(-50%)}.promo-popup__dot{width:11px;height:11px;padding:0;border:1px solid #fff;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer}.promo-popup__dot.is-active{background:#38e8ff;box-shadow:0 0 10px #38e8ff}
.promo-popup__close{position:absolute;top:10px;right:10px;z-index:10;width:44px;height:44px;border:2px solid #fff;border-radius:50%;background:rgba(0,0,0,.82);color:#fff;font-size:29px;line-height:38px;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.55)}
.promo-popup__prize-hint{position:absolute;z-index:12;right:9px;top:31%;display:flex;align-items:center;gap:5px;padding:8px 9px 8px 7px;border:2px solid #fff176;border-radius:16px 4px 4px 16px;background:linear-gradient(135deg,#ff3b76,#ff1744);color:#fff;box-shadow:0 5px 18px rgba(0,0,0,.5),0 0 16px rgba(255,241,118,.75);cursor:pointer;animation:prizeHintBounce 1s ease-in-out infinite}.promo-popup__prize-hint[hidden]{display:none}.promo-popup__hint-hand{font-size:28px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35));animation:prizeHandMove .7s ease-in-out infinite alternate}.promo-popup__prize-hint b{display:block;color:#ffff00;font-size:16px;line-height:1.05;white-space:nowrap;text-shadow:0 2px 3px #78112e}.promo-popup__prize-hint small{display:block;margin-top:3px;color:#fff;font-size:10px;font-weight:800;line-height:1.05;white-space:nowrap}@keyframes prizeHintBounce{0%,100%{transform:translateX(0) scale(1)}50%{transform:translateX(-7px) scale(1.04)}}@keyframes prizeHandMove{from{transform:translateX(-2px)}to{transform:translateX(5px)}}
.promo-popup__bar{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:9px 15px;background:#061426;color:#fff;font-size:14px}
.promo-popup__today,.promo-popup__bottom-close{border:0;background:transparent;color:#fff;cursor:pointer}.promo-popup__today{display:flex;align-items:center;gap:7px}.promo-popup__today input{width:18px;height:18px;accent-color:#d7b45a}.promo-popup__bottom-close{padding:7px 11px;border:1px solid rgba(255,255,255,.38);border-radius:7px;font-weight:700}
@media(max-width:640px){.promo-popup{padding:8px}.promo-popup__box{width:min(96vw,calc((100dvh - 86px)*.597));max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);border-radius:13px}.promo-popup__bar{min-height:54px;font-size:13px;padding:8px 11px}.promo-popup__close{top:7px;right:7px;width:42px;height:42px;font-size:28px;line-height:38px}.promo-popup__nav{width:36px;height:50px;font-size:32px;line-height:42px}.promo-popup__dots{bottom:61px}.promo-popup__prize-hint{right:4px;top:29%;padding:7px 7px 7px 5px;border-radius:14px 3px 3px 14px}.promo-popup__hint-hand{font-size:24px}.promo-popup__prize-hint b{font-size:14px}.promo-popup__prize-hint small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.promo-popup__box,.promo-popup__prize-hint,.promo-popup__hint-hand{animation:none}.promo-popup__fireworks{display:none}}

/* v7: keep every close control inside small mobile screens and safe areas */
.promo-popup{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))}
.promo-popup__box{box-sizing:border-box}
.promo-popup__viewport{flex:1 1 auto;min-height:0}
.promo-popup__track{height:100%}
.promo-popup__slide{display:flex;height:100%;min-height:0;align-items:center;justify-content:center}
.promo-popup__image{height:100%;max-height:100%;object-fit:contain}
.promo-popup__close{z-index:20;padding:0;background:#050505;font-weight:900;box-shadow:0 3px 12px rgba(0,0,0,.7),0 0 0 3px rgba(255,230,0,.4)}
.promo-popup__bar{position:relative;z-index:18;flex:0 0 56px;min-height:56px;border-top:1px solid rgba(255,255,255,.28);padding-bottom:calc(8px + env(safe-area-inset-bottom))}
@media(max-width:640px){
  .promo-popup{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
  .promo-popup__box{width:min(96vw,calc((100dvh - 86px)*.597));height:min(calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)),calc(96vw / .597 + 58px));max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
  .promo-popup__bar{flex:0 0 58px;min-height:58px;padding:8px 11px calc(8px + env(safe-area-inset-bottom));font-size:13px}
  .promo-popup__close{top:8px;right:8px;width:42px;height:42px;font-size:29px;line-height:37px}
}

/* v8: larger, clearer swipe-to-prize cue */
.promo-popup__prize-hint{right:8px;top:29%;gap:8px;padding:12px 14px 12px 10px;border-width:3px;border-radius:20px 5px 5px 20px;box-shadow:0 7px 22px rgba(0,0,0,.58),0 0 22px rgba(255,241,118,.9)}
.promo-popup__hint-hand{font-size:36px}
.promo-popup__prize-hint b{font-size:21px;line-height:1.1;letter-spacing:-.5px}
.promo-popup__prize-hint small{margin-top:4px;font-size:14px;line-height:1.1}
@media(max-width:640px){
  .promo-popup__prize-hint{right:3px;top:63%;gap:6px;padding:10px 10px 10px 7px;border-radius:18px 3px 3px 18px}
  .promo-popup__hint-hand{font-size:31px}
  .promo-popup__prize-hint b{font-size:18px}
  .promo-popup__prize-hint small{font-size:12px}
}

/* v12: mobile placement between the gift certificate and contact-number panel */
.promo-popup__prize-hint{top:69%}

/* Page 2 cue for the new Page 3 Chuseok gift event */
.promo-popup__holiday-hint{top:72%;background:linear-gradient(135deg,#7b2cff,#ff2f91);border-color:#fff200;box-shadow:0 7px 22px rgba(0,0,0,.62),0 0 24px rgba(255,242,0,.95)}
.promo-popup__holiday-hint b{color:#fff200;font-size:22px}
.promo-popup__holiday-hint small{font-size:14px}
.promo-popup__slide--holiday{flex-direction:column;background:#07394b;padding:0;box-sizing:border-box;text-decoration:none}
.promo-popup__slide--holiday .promo-popup__image{flex:1 1 auto;width:100%;height:auto;min-height:0;max-width:100%;max-height:calc(100% - 64px);object-fit:contain;object-position:center}
.promo-popup__holiday-phone{display:flex;flex:0 0 64px;width:100%;box-sizing:border-box;align-items:center;justify-content:center;gap:10px;padding:7px 10px;border-top:3px solid #ffe600;background:#051b38;color:#fff200;line-height:1;white-space:nowrap;text-shadow:0 2px 5px rgba(0,0,0,.75)}
.promo-popup__holiday-phone small{font-size:19px;font-weight:900}
.promo-popup__holiday-phone strong{font-size:34px;font-weight:1000;letter-spacing:-1px}
@media(max-width:640px){
  .promo-popup__holiday-hint{top:72%;right:3px;padding:10px 10px 10px 7px}
  .promo-popup__holiday-hint b{font-size:19px}
  .promo-popup__holiday-hint small{font-size:12px}
  .promo-popup__slide--holiday .promo-popup__image{max-height:calc(100% - 58px)}
  .promo-popup__holiday-phone{flex-basis:58px;gap:7px;padding:6px 8px}
  .promo-popup__holiday-phone small{font-size:16px}
  .promo-popup__holiday-phone strong{font-size:29px}
}
