/* Genuine 210 × 135 × 140 carton. Camera and hinges share one 3D scene. */
.pack3d-stage{display:none;position:relative;width:100%;aspect-ratio:520/430;perspective:900px;perspective-origin:50% 50%;pointer-events:none}
.has-pack3d>.packing-svg{display:none}.has-pack3d>.pack3d-stage{display:block}
/* Reserve the entry arc above the artwork so items never cross delivery copy. */
@media(max-width:540px){.shop-hero .hero-art:has(.packing-scene){margin:48px auto 0}}
.pack3d-scale{position:absolute;left:50%;top:65%;width:0;height:0;transform-style:preserve-3d}
.pack3d-turn{position:absolute;width:0;height:0;transform-style:preserve-3d;transform:rotateX(-20deg) rotateY(-24deg)}
.pack3d-shadow{position:absolute;left:22%;width:60%;height:6%;top:86%;background:radial-gradient(ellipse,#75512f25,transparent 70%);border-radius:50%}
.pack3d-wall,.pack3d-panel{position:absolute;box-sizing:border-box;border:1px solid #ad814b;background:linear-gradient(120deg,#d9b780,#bd915a)}
.pack3d-front,.pack3d-back{width:210px;height:135px;left:-105px;top:-67.5px}
.pack3d-front{transform:translateZ(70px);transform-style:preserve-3d}.pack3d-back{transform:translateZ(-70px) rotateY(180deg);background:#a97d49}
.pack3d-left-wall,.pack3d-right-wall{width:140px;height:135px;left:-70px;top:-67.5px;background:linear-gradient(115deg,#b78c55,#99713e)}
.pack3d-left-wall{transform:translateX(-105px) rotateY(-90deg)}.pack3d-right-wall{transform:translateX(105px) rotateY(90deg)}
.pack3d-bottom{width:210px;height:140px;left:-105px;top:-70px;transform:translateY(67.5px) rotateX(90deg);background:#8b6943}
.pack3d-face{position:absolute;width:108px;height:93.273px;left:51px;top:24px;backface-visibility:hidden;transform:translateZ(.15px)}
.pack3d-arrows{position:absolute;left:47px;top:30px;color:#755332;font-size:29px;font-weight:700;backface-visibility:hidden}
.pack3d-hinge{position:absolute;left:0;top:0;width:0;height:0;transform-style:preserve-3d;--pack-angle:0deg}
.pack3d-panel{background:linear-gradient(110deg,#e4c995,#ceab72);box-shadow:inset 0 0 0 1px #eacf9d55}
.pack3d-front-flap{transform:translate3d(0,-68.4px,70px) rotateX(calc(90deg - var(--pack-angle)))}
.pack3d-rear-flap{transform:translate3d(0,-68px,-70px) rotateX(calc(-90deg + var(--pack-angle)))}
.pack3d-front-flap>.pack3d-panel,.pack3d-rear-flap>.pack3d-panel{width:210px;height:70px;left:-105px;top:-70px}
.pack3d-left-flap{transform:translate3d(-105px,-67.5px,0) rotateZ(calc(-1 * var(--pack-angle)))}
.pack3d-right-flap{transform:translate3d(105px,-67.5px,0) rotateZ(var(--pack-angle))}
.pack3d-left-flap>.pack3d-panel,.pack3d-right-flap>.pack3d-panel{width:70px;height:140px;top:-70px;transform:rotateX(90deg);background:#c6a16b}
.pack3d-left-flap>.pack3d-panel{left:0;transform-origin:0 70px}.pack3d-right-flap>.pack3d-panel{left:-70px;transform-origin:70px 70px}
.pack3d-seal{position:absolute;background:#eee0ba;border:1px solid #d3b987;box-sizing:border-box}
.pack3d-seal-top{width:212px;height:14px;left:-106px;top:-7px;transform:translateY(-69px) rotateX(90deg)}
.pack3d-seal-end{width:14px;height:14px;left:-7px;top:-69px;transform:translateX(106px) rotateY(90deg);background:#d9c59b}
/* The same lengthwise strip wraps over both side edges, never the smile. */
.pack3d-seal-end-left{transform:translateX(-106px) rotateY(-90deg)}
.is-playing .pack3d-left-flap{animation:mb-fold-left 4.9s ease-in-out both}.is-playing .pack3d-right-flap{animation:mb-fold-right 4.9s ease-in-out both}.is-playing .pack3d-rear-flap{animation:mb-fold-rear 4.9s ease-in-out both}.is-playing .pack3d-front-flap{animation:mb-fold-front 4.9s ease-in-out both}.is-playing .pack3d-seal{animation:mb-seal 4.9s ease-in-out both}
.pack3d-item{position:absolute;left:-40px;top:-40px;width:80px;height:80px;visibility:hidden}.pack3d-item svg{display:block;width:100%;height:100%}.is-playing .pack3d-item{visibility:visible;animation-duration:4.9s;animation-timing-function:ease-in-out;animation-fill-mode:both}.is-playing .pack3d-book{animation-name:pack3d-book}.is-playing .pack3d-towel{animation-name:pack3d-towel}.is-playing .pack3d-mug{animation-name:pack3d-mug}
@keyframes pack3d-book{0%{transform:translate3d(-190px,-200px,0) rotate(-30deg)}9%{transform:translate3d(-25px,-190px,0) rotate(9deg)}22%,100%{transform:translate3d(-25px,24px,0) rotate(0deg)}}
@keyframes pack3d-towel{0%,8%{transform:translate3d(190px,-160px,-15px) rotate(20deg)}17%{transform:translate3d(17px,-170px,-15px) rotate(-8deg)}29%,100%{transform:translate3d(17px,30px,-15px) rotate(0deg)}}
@keyframes pack3d-mug{0%,15%{transform:translate3d(-170px,-170px,20px) rotate(-18deg)}24%{transform:translate3d(42px,-140px,20px) rotate(8deg)}33%,100%{transform:translate3d(42px,35px,20px) rotate(0deg)}}
