#page-box{background:linear-gradient(135deg,#fff0e0,#ffe0ef);}
#page-box .container{text-align:center;}
#page-box h1{color:#ff2d75;margin-bottom:6px;}
#page-box p{color:#666;margin-bottom:40px;transition:.3s;}

#page-box .giftbox{position:relative;width:180px;height:170px;margin:auto;cursor:pointer;user-select:none;}
#page-box .base{position:absolute;bottom:0;width:100%;height:110px;background:#ff6ba0;border-radius:8px;
  box-shadow:0 15px 30px rgba(0,0,0,.15);}
#page-box .base::after{content:"";position:absolute;left:50%;top:0;width:22px;height:100%;
  transform:translateX(-50%);background:#ffd447;}
#page-box .lid{position:absolute;top:35px;width:100%;height:45px;background:#ff4d88;border-radius:8px;
  box-shadow:0 8px 15px rgba(0,0,0,.15);transition:transform .6s cubic-bezier(.34,1.56,.64,1), opacity .6s;
  transform-origin:top center;z-index:2;}
#page-box .lid::after{content:"";position:absolute;left:50%;top:0;width:26px;height:100%;
  transform:translateX(-50%);background:#ffd447;}
#page-box .bow{position:absolute;left:50%;top:-16px;transform:translateX(-50%);width:44px;height:32px;}
#page-box .bow::before,#page-box .bow::after{content:"";position:absolute;width:22px;height:22px;
  background:#ffd447;border-radius:50% 50% 50% 0;top:0;}
#page-box .bow::before{left:-6px;transform:rotate(-40deg);}
#page-box .bow::after{right:-6px;transform:rotate(40deg) scaleX(-1);}

#page-box .glow{position:absolute;left:50%;top:55px;transform:translate(-50%,0) scale(0);width:120px;height:120px;
  border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95),rgba(255,214,71,.5) 60%,transparent 75%);
  z-index:1;opacity:0;transition:opacity .4s;}

/* shake feedback as the user taps */
#page-box .giftbox.shake-1{animation:box-jiggle .35s;}
#page-box .giftbox.shake-2{animation:box-jiggle .3s;}
#page-box .giftbox.shake-3{animation:box-jiggle-hard .3s;}
@keyframes box-jiggle{0%,100%{transform:rotate(0);}25%{transform:rotate(-4deg);}75%{transform:rotate(4deg);}}
@keyframes box-jiggle-hard{0%,100%{transform:rotate(0) translateX(0);}20%{transform:rotate(-7deg) translateX(-4px);}
  50%{transform:rotate(7deg) translateX(4px);}80%{transform:rotate(-5deg) translateX(-3px);}}

/* opening sequence */
#page-box .giftbox.opened .lid{transform:translateY(-140px) rotate(-35deg);opacity:0;}
#page-box .giftbox.opened .glow{opacity:1;animation:glow-pulse 1s ease-out infinite;}
@keyframes glow-pulse{0%,100%{transform:translate(-50%,0) scale(1);}50%{transform:translate(-50%,0) scale(1.15);}}

#page-box button{margin-top:34px;padding:15px 35px;border:none;border-radius:40px;background:#ff4d88;
  color:white;font-size:18px;cursor:pointer;display:none;transition:.3s;}
#page-box button:hover{transform:scale(1.05);}

/* ===== mini gifts revealed once the box pops open ===== */
#page-box .mini-gifts{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;max-width:320px;
  margin:26px auto 0;opacity:0;transition:opacity .3s;}
#page-box .mini-gifts.shown{opacity:1;}
#page-box .mini-gift{width:64px;height:64px;border-radius:16px;border:none;font-size:28px;cursor:pointer;
  background:linear-gradient(160deg,#ffe3ee,#ffb8cf);box-shadow:0 8px 18px rgba(0,0,0,.15);
  display:inline-flex !important;align-items:center;justify-content:center;margin:0;padding:0;
  opacity:0;transform:translateY(14px) scale(.7);animation:mini-gift-in .5s cubic-bezier(.34,1.56,.64,1) forwards;
  transition:transform .2s;}
#page-box .mini-gift:hover{transform:scale(1.08);}
#page-box .mini-gift.opened{background:linear-gradient(160deg,#fff3d6,#ffd447);}
@keyframes mini-gift-in{to{opacity:1;transform:translateY(0) scale(1);}}

#page-box .gift-reveal-card{margin:20px auto 0;max-width:300px;background:white;border-radius:16px;
  padding:18px 20px;box-shadow:0 15px 35px rgba(0,0,0,.15);text-align:center;}
#page-box .gift-reveal-card.hidden{display:none;}
#page-box .gift-reveal-card h3{color:#ff2d75;font-size:16px;margin-bottom:6px;}
#page-box .gift-reveal-card p{color:#555;font-size:14px;line-height:1.5;}
#page-box .gift-reveal-card.pop{animation:gift-pop .4s cubic-bezier(.34,1.56,.64,1);}
@keyframes gift-pop{0%{transform:scale(.85);opacity:.3;}100%{transform:scale(1);opacity:1;}}

#page-box .gift-reveal-link{display:inline-block;margin-top:12px;padding:9px 20px;border-radius:30px;
  background:#1DB954;color:white;font-size:13px;font-weight:600;text-decoration:none;transition:.2s;}
#page-box .gift-reveal-link:hover{transform:scale(1.05);}
#page-box .gift-reveal-link.hidden{display:none;}

@media (max-width: 360px){
  #page-box .mini-gift{width:54px;height:54px;font-size:24px;}
}

/* Premium responsive */
*{box-sizing:border-box}img,video{max-width:100%;height:auto}body{overflow-x:hidden}
.container{width:min(92%,1100px);margin:auto}
h1{font-size:clamp(2rem,5vw,4rem)}h2{font-size:clamp(1.5rem,4vw,3rem)}p{font-size:clamp(1rem,2vw,1.1rem)}
button,.btn{min-height:48px;padding:.8rem 1.4rem;border-radius:14px}
@media(max-width:768px){section{padding:60px 16px}}
