/* additions: real product photos + gallery */
.hero-fig.solo{left:12%;top:2%;width:76%}
.hero-fig img{width:100%}
.modal-media{position:relative}
.thumbs{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:8px}
.thumb{width:56px;height:56px;border-radius:12px;background:#fff;border:2px solid transparent;padding:3px;box-shadow:0 4px 12px -6px rgba(0,0,0,.3);transition:transform .2s}
.thumb img{width:100%;height:100%;object-fit:contain}
.thumb.on{border-color:var(--ink)}
.thumb:hover{transform:translateY(-2px)}
.parade-item .pi-fig img{width:150%;max-width:none;margin-top:25%}

/* ===== animated hero stage ===== */
.stage{position:relative;height:min(72vh,600px);overflow:visible;--px:0}
.stage-glow{position:absolute;left:10%;right:10%;top:12%;bottom:22%;background:radial-gradient(ellipse at 50% 60%,rgba(255,255,255,.75),rgba(255,255,255,0) 70%);pointer-events:none}
.stage-crowd{position:absolute;left:-8%;right:-8%;top:4%;height:52%;opacity:.22;filter:blur(1.2px);transform:translateX(calc(var(--px) * -24px));transition:transform .6s ease-out;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)}
.stage-crowd svg{width:100%;height:100%}
.stage-floor{position:absolute;left:-30%;right:-30%;bottom:-14%;height:64%;transform-origin:50% 100%;transform:perspective(700px) rotateX(64deg) translateX(calc(var(--px) * 30px));background-color:#f7c600;background-image:radial-gradient(circle at 50% 50%,#ffe46b 0 9px,#e9b500 10px 12px,transparent 13px);background-size:34px 34px;-webkit-mask-image:radial-gradient(ellipse 48% 100% at 50% 100%,#000 50%,transparent 92%);mask-image:radial-gradient(ellipse 48% 100% at 50% 100%,#000 50%,transparent 92%);pointer-events:none;transition:transform .6s ease-out}
.stage-track{position:absolute;inset:0}
.show-item{position:absolute;left:50%;bottom:14%;width:min(60%,400px);aspect-ratio:1;padding:0;transform:translateX(-50%);transition:transform .7s cubic-bezier(.3,1.25,.4,1),opacity .5s,filter .5s;cursor:pointer;-webkit-tap-highlight-color:transparent}
.show-item[data-pos="0"]{z-index:3}
.show-item[data-pos="1"]{transform:translateX(30%) scale(.58);opacity:.55;filter:saturate(.5) brightness(.95);z-index:2}
.show-item[data-pos="-1"]{transform:translateX(-130%) scale(.58);opacity:.55;filter:saturate(.5) brightness(.95);z-index:2}
.show-item[data-pos="2"]{transform:translateX(70%) scale(.4);opacity:.25;z-index:1}
.show-item[data-pos="-2"]{transform:translateX(-170%) scale(.4);opacity:.25;z-index:1}
.show-item[data-pos="far"]{opacity:0;pointer-events:none;transform:translateX(-50%) scale(.3)}
.show-float{position:absolute;inset:0;display:block;animation:showFloat 3.6s ease-in-out infinite}
.show-item[data-pos="0"] .show-float{animation-duration:3.2s}
.show-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 22px 18px rgba(80,55,0,.35));transition:transform .26s ease-in;user-select:none}
.show-img.turn{transform:scaleX(.08)}
.show-shine{position:absolute;inset:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 48%,transparent 60%) no-repeat;background-size:250% 100%;background-position:150% 0;animation:showShine 5s ease-in-out infinite;pointer-events:none;mix-blend-mode:screen}
.show-item:not([data-pos="0"]) .show-shine{display:none}
.show-shadow{position:absolute;left:22%;right:22%;bottom:5%;height:7%;border-radius:50%;background:radial-gradient(ellipse,rgba(70,45,0,.45),transparent 70%);animation:showShadow 3.2s ease-in-out infinite}
.stage-name{position:absolute;left:0;right:0;bottom:2%;text-align:center;font-family:var(--display);font-weight:800;font-size:clamp(1.6rem,3.4vw,2.6rem);color:var(--ink);letter-spacing:-.02em;text-shadow:0 3px 0 rgba(255,255,255,.6);pointer-events:none}
.stage-name.pop{animation:namePop .6s cubic-bezier(.3,1.6,.5,1)}
.stage-arrow{position:absolute;top:44%;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--ink);font-size:2.2rem;line-height:1;display:grid;place-items:center;box-shadow:0 6px 0 rgba(0,0,0,.15);z-index:5;transition:transform .2s}
.stage-arrow:hover{transform:scale(1.1)}
.stage-arrow.prev{left:0}.stage-arrow.next{right:0}
@keyframes showFloat{50%{transform:translateY(-14px)}}
@keyframes showShadow{50%{transform:scale(.82);opacity:.7}}
@keyframes showShine{0%,55%{background-position:150% 0}85%,100%{background-position:-60% 0}}
@keyframes namePop{0%{transform:translateY(16px) scale(.8);opacity:0}100%{transform:none;opacity:1}}
@media (max-width:820px){.stage{height:420px}.show-item{width:min(70%,320px)}.stage-arrow{width:42px;height:42px;font-size:1.8rem}}
.stage-arrow[hidden]{display:none}

/* custom order form */
.custom-form{position:relative;display:grid;gap:.8rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:24px;padding:1.4rem}
.custom-form label{display:grid;gap:.3rem;font-weight:700;font-size:.9rem}
.custom-form input,.custom-form textarea,.custom-form select{font:inherit;font-weight:400;border:0;border-radius:12px;padding:.75rem .9rem;background:#fff;color:var(--ink);width:100%}
.custom-form textarea{resize:vertical}
.custom-form input:focus,.custom-form textarea:focus,.custom-form select:focus{outline:3px solid var(--yellow)}
.custom-form .btn{justify-self:start}
.form-note{font-size:.85rem;opacity:.85;margin:0}
.form-note.ok{opacity:1;font-weight:700;color:var(--yellow)}
.m-safety{font-size:.8rem;color:var(--muted);margin:-.8rem 0 1.2rem}

/* delivery region picker */
.ship-pick{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin:.2rem 0 .7rem;font-size:.85rem}
.ship-pick span{color:var(--muted);margin-right:.2rem}
.ship-pick button{border:1.5px solid var(--line);border-radius:999px;padding:.3rem .7rem;font-weight:700;font-size:.85rem;transition:all .2s}
.ship-pick button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.ship-note{font-size:.78rem;color:var(--muted);margin:-.1rem 0 .4rem;line-height:1.4}
