/* =========================================================
   방문예약 상품권증정 — 팝업 + PC 히어로 강조
   (천안 직산 중해마루힐 이벤트 팝업 구조 · 롯데캐슬 퍼스널 컬러)
   ========================================================= */
:root{
  --gf-ink:#111;
  --gf-deep:#0a0908;
  --gf-panel:#1c1610;
  --gf-gold:#b08b5c;
  --gf-gold-l:#e6c397;
  --gf-cream:#efeee8;
  --gf-btn:linear-gradient(105deg,#e6c397 0%,#b08b5c 45%,#897158 100%);
}

body.is-gift-lock{overflow:hidden;touch-action:none}

/* ---- PC hero gift ---- */
.pc-gift{
  display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;
  padding:10px 16px;border:2px solid var(--gf-gold);border-radius:999px;
  background:linear-gradient(105deg,rgba(176,139,92,.22),rgba(230,195,151,.12));
  color:#fff;font-weight:900;letter-spacing:-.03em;line-height:1.2;
  box-shadow:0 10px 28px rgba(0,0,0,.28);cursor:pointer;
  animation:gf-pulse 1.8s ease-in-out infinite;
}
.pc-gift__badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:54px;height:26px;padding:0 8px;border-radius:999px;
  background:linear-gradient(135deg,var(--gf-gold-l),var(--gf-gold));
  color:var(--gf-ink);font-size:11px;font-weight:900;letter-spacing:.04em;
}
.pc-gift__txt{font-size:clamp(14px,1.15vw,17px)}
.pc-gift__txt b{color:var(--gf-gold-l)}
.pc-gift__arrow{opacity:.85;font-size:14px}

.pc-ticket.is-gift{border-color:var(--gf-gold);box-shadow:0 0 0 1px rgba(176,139,92,.35),0 18px 40px rgba(0,0,0,.35)}
.pc-ticket__gift{
  margin:0 0 12px;padding:12px 14px;border-radius:12px;
  background:linear-gradient(135deg,#1a1510,#2a2218);
  border:1px solid rgba(230,195,151,.45);text-align:center;
}
.pc-ticket__gift-k{margin:0 0 4px;color:var(--gf-gold-l);font-size:11px;font-weight:800;letter-spacing:.18em}
.pc-ticket__gift-t{margin:0;color:#fff;font-size:22px;font-weight:900;letter-spacing:-.04em}
.pc-ticket__gift-t em{color:var(--gf-gold-l);font-style:normal}
.pc-ticket__gift-s{margin:6px 0 0;color:rgba(255,255,255,.72);font-size:12px;font-weight:700}

.pc-tick__in .is-gift-tick{color:var(--gf-gold-l)}
.pc-tick__in .is-gift-tick b{color:#fff;text-shadow:0 0 12px rgba(230,195,151,.55)}
.mlx-ticker .is-gift-tick{color:var(--gf-gold-l)}
.mlx-ticker .is-gift-tick b{color:#fff}

/* ---- Popup (evp-style) ---- */
.gift-pop{
  position:fixed;inset:0;z-index:12000;display:grid;place-items:center;
  padding:16px;box-sizing:border-box;
}
.gift-pop[hidden]{display:none}
.gift-pop__dim{
  position:absolute;inset:0;background:rgba(8,6,4,.74);backdrop-filter:blur(4px);
  opacity:0;transition:opacity .3s ease;
}
.gift-pop.is-open .gift-pop__dim{opacity:1}

.gift-pop__panel{
  position:relative;width:min(100%,440px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);
  overflow-y:auto;-webkit-overflow-scrolling:touch;border-radius:26px;
  background:linear-gradient(180deg,#2a2218,#111 58%,#0a0908);
  box-shadow:0 30px 80px rgba(0,0,0,.55),inset 0 0 0 1px rgba(230,195,151,.4);
  color:#fff;opacity:0;transform:translateY(30px) scale(.86);
  transition:opacity .3s ease,transform .5s cubic-bezier(.2,1.4,.4,1);
}
.gift-pop.is-open .gift-pop__panel{opacity:1;transform:none}

.gift-pop__x{
  position:absolute;right:10px;top:10px;z-index:3;width:40px;height:40px;
  border:0;border-radius:50%;background:rgba(10,9,8,.55);color:#fff;
  font-size:1.6rem;line-height:1;cursor:pointer;
}

.gift-pop__visual{
  position:relative;overflow:hidden;isolation:isolate;
  padding:2.2rem 1.2rem 1.6rem;text-align:center;
}
.gift-pop__bg{
  position:absolute;inset:0;z-index:-2;
  background:
    linear-gradient(180deg,rgba(10,9,8,.78) 0%,rgba(10,9,8,.28) 42%,rgba(28,22,16,.95) 100%),
    url("../images/메인/visual-bg-new-02.jpg") center 55% / cover no-repeat;
  animation:gf-kenburns 14s ease-in-out infinite alternate;
}
.gift-pop__conf{
  position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;
}
.gift-pop__conf i{
  position:absolute;top:-12px;left:var(--x);width:8px;height:12px;border-radius:2px;
  background:var(--c);opacity:.9;animation:gf-confetti 4.2s var(--d) linear infinite;
}
.gift-pop__conf i:nth-child(3n){width:10px;height:6px;animation-duration:5.4s}
.gift-pop__conf i:nth-child(4n){border-radius:50%;width:7px;height:7px;animation-duration:3.6s}

.gift-pop__ico{
  position:absolute;z-index:0;left:-48px;top:28%;width:36px;height:36px;color:var(--gf-gold-l);
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.35));
  animation:gf-fly 7s linear infinite;pointer-events:none;
}
.gift-pop__ico svg{display:block;width:100%;height:100%}

.gift-pop__ribbon{
  display:inline-block;margin:0 0 .6rem;padding:.38rem 1.1rem;border-radius:999px;
  background:linear-gradient(90deg,#2a2218,#111);
  box-shadow:0 0 0 1px rgba(230,195,151,.5);
  font-size:.78rem;font-weight:800;letter-spacing:.18em;color:var(--gf-gold-l);
  animation:gf-ribbon 2.4s ease-in-out infinite;
}
.gift-pop__lead{
  margin:0 0 .35rem;font-size:.95rem;font-weight:700;color:rgba(255,255,255,.92);
  text-shadow:0 2px 10px rgba(0,0,0,.5);word-break:keep-all;
}
.gift-pop__lead b{color:var(--gf-gold-l)}

.gift-pop__title{
  margin:0;line-height:1.08;font-weight:900;letter-spacing:-.04em;word-break:keep-all;
}
.gift-pop__title span{
  display:block;font-size:clamp(2rem,8.6vw,2.7rem);color:#fff;
  text-shadow:0 6px 22px rgba(0,0,0,.55);
}
.gift-pop__title b{
  display:block;font-size:clamp(2.35rem,10vw,3.2rem);
  background:linear-gradient(105deg,#fff 0%,#e6c397 35%,#b08b5c 70%,#e6c397 100%);
  background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 6px 18px rgba(176,139,92,.45));
  animation:gf-shine-txt 3.2s ease-in-out infinite,gf-pulse-s 1.6s ease-in-out infinite;
}
.gift-pop.is-open .gift-pop__title{
  animation:gf-title-in .9s .2s cubic-bezier(.2,1.5,.4,1) both;
}

.gift-pop__stamp{
  position:absolute;left:12px;top:12px;display:grid;place-items:center;
  width:64px;height:64px;border:3px solid var(--gf-gold);border-radius:50%;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.85);background:rgba(255,255,255,.92);
  color:var(--gf-gold);font-size:.74rem;font-weight:900;line-height:1.05;
  transform:rotate(-14deg);animation:gf-stamp 3.6s ease-in-out infinite;
}

.gift-pop__tickets{
  display:grid;gap:10px;margin:0;padding:0 1rem;list-style:none;
}
.gf-ticket{
  position:relative;display:flex;overflow:hidden;min-height:86px;border-radius:16px;
  background:#fff;color:var(--gf-ink);text-align:left;
  box-shadow:0 10px 26px rgba(10,9,8,.35);
  -webkit-mask:
    radial-gradient(circle at 96px 0,transparent 9px,#000 10px) top / 100% 51% no-repeat,
    radial-gradient(circle at 96px 100%,transparent 9px,#000 10px) bottom / 100% 51% no-repeat;
  mask:
    radial-gradient(circle at 96px 0,transparent 9px,#000 10px) top / 100% 51% no-repeat,
    radial-gradient(circle at 96px 100%,transparent 9px,#000 10px) bottom / 100% 51% no-repeat;
  animation:gf-ticket-in .8s ease both;
}
.gf-ticket:nth-child(2){animation-delay:.15s}
.gf-ticket::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.75) 50%,transparent 65%);
  transform:translateX(-120%);animation:gf-shine 3.4s ease-in-out infinite;
}
.gf-ticket:nth-child(2)::after{animation-delay:1.7s}

.gf-ticket__stub{
  flex:0 0 96px;display:grid;place-content:center;gap:.1rem;
  border-right:2px dashed rgba(255,255,255,.7);
  background:linear-gradient(160deg,#e6c397,#b08b5c 70%,#897158);color:#fff;text-align:center;
}
.gf-ticket__stub small{
  font-size:.62rem;font-weight:800;letter-spacing:.12em;color:#4a3720;
}
.gf-ticket__stub b{
  font-size:2rem;font-weight:900;line-height:1;text-shadow:0 2px 6px rgba(74,55,32,.35);
}
.gf-ticket__body{display:grid;align-content:center;gap:.15rem;padding:.7rem 1rem;min-width:0}
.gf-ticket__body em{
  font-style:normal;font-size:.66rem;font-weight:700;letter-spacing:.14em;color:#8a8174;
}
.gf-ticket__body strong{font-size:1.22rem;font-weight:900;letter-spacing:-.03em}
.gf-ticket__body span{
  font-size:.95rem;font-weight:800;color:var(--gf-gold);word-break:keep-all;
}

.gift-pop__cta{display:grid;gap:8px;padding:1rem 1rem 0}
.gift-pop__btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:52px;border:1px solid rgba(230,195,151,.55);border-radius:999px;
  background:rgba(255,255,255,.06);color:#fff;font-family:inherit;
  font-size:1rem;font-weight:800;cursor:pointer;text-decoration:none;
}
.gift-pop__btn--main{
  height:58px;border:0;background:var(--gf-btn);background-size:220% 100%;
  color:var(--gf-ink);font-size:1.1rem;font-weight:900;
  box-shadow:0 12px 26px rgba(176,139,92,.45);
  animation:gf-shine-txt 3s ease-in-out infinite,gf-pulse-s 1.4s ease-in-out infinite;
}

.gift-pop__note{
  margin:.8rem 0 0;padding:0 1.1rem;font-size:.68rem;line-height:1.5;
  color:rgba(255,255,255,.72);word-break:keep-all;
}
.gift-pop__foot{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:.8rem;padding:.8rem 1.1rem;
  border-top:1px solid rgba(255,255,255,.12);font-size:.85rem;
}
.gift-pop__foot label{
  display:flex;align-items:center;gap:.4rem;color:rgba(255,255,255,.85);cursor:pointer;
}
.gift-pop__foot label input{accent-color:var(--gf-gold)}
.gift-pop__foot button{
  border:0;background:none;color:#fff;font-family:inherit;font-size:.9rem;font-weight:700;cursor:pointer;
}

@keyframes gf-pulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes gf-pulse-s{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@keyframes gf-kenburns{from{transform:scale(1)}to{transform:scale(1.12) translateY(-2%)}}
@keyframes gf-confetti{
  0%{transform:translate3d(0,0,0) rotate(0)}
  50%{transform:translate3d(18px,260px,0) rotate(260deg)}
  100%{transform:translate3d(-12px,560px,0) rotate(560deg);opacity:.2}
}
@keyframes gf-fly{
  0%{transform:translate(0,60px) rotate(-12deg)}
  100%{transform:translate(calc(100% + 420px),-90px) rotate(-12deg)}
}
@keyframes gf-ribbon{
  0%,100%{box-shadow:0 0 0 1px rgba(230,195,151,.5),0 0 0 0 rgba(176,139,92,.55)}
  50%{box-shadow:0 0 0 1px rgba(230,195,151,.85),0 0 0 10px rgba(176,139,92,0)}
}
@keyframes gf-shine-txt{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes gf-shine{0%,55%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@keyframes gf-stamp{
  0%,70%,100%{transform:rotate(-14deg) scale(1)}
  76%{transform:rotate(-20deg) scale(1.25)}
  84%{transform:rotate(-10deg) scale(.95)}
}
@keyframes gf-title-in{
  from{opacity:0;transform:scale(1.6);filter:blur(6px)}
  to{opacity:1;transform:none;filter:none}
}
@keyframes gf-ticket-in{
  from{opacity:0;transform:translateX(40px)}
  to{opacity:1;transform:none}
}

@media (min-width:1025px){
  .gift-pop__panel{width:500px}
}
@media (prefers-reduced-motion:reduce){
  .pc-gift,.gift-pop__bg,.gift-pop__conf i,.gift-pop__ico,.gift-pop__ribbon,
  .gift-pop__title b,.gift-pop__stamp,.gf-ticket,.gf-ticket::after,.gift-pop__btn--main{animation:none}
  .gift-pop.is-open .gift-pop__title{animation:none}
}
