/* 움직임 효과 (미리보기) */
.pd-chars{display:inline-flex}
.pd-chars>span{display:inline-block;animation:djDrop .9s cubic-bezier(.3,1.5,.5,1) backwards;animation-delay:calc(var(--i)*.12s)}
.pd-chars>span:hover{animation:djJelly .6s}
@keyframes djDrop{0%{transform:translateY(-55%) scaleY(1.15)}60%{transform:translateY(4%) scaleY(.9)}100%{transform:none}}
@keyframes djJelly{0%,100%{transform:none}30%{transform:scale(1.12,.88)}60%{transform:scale(.94,1.06)}}
.pd-slide.is-active img{animation:djPlate .9s cubic-bezier(.2,1.4,.4,1),djFloat 5s ease-in-out .9s infinite}
.pd-slide.is-prev img{animation:djFloat 6s ease-in-out infinite}
.pd-slide.is-next img{animation:djFloat 6s ease-in-out -3s infinite}
@keyframes djPlate{0%{transform:rotate(-16deg) scale(.8)}100%{transform:none}}
@keyframes djFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(1.6deg)}}
.pd-steam{position:absolute;left:50%;top:2%;width:clamp(120px,14vw,240px);height:40%;transform:translateX(-50%);z-index:4;pointer-events:none}
.pd-steam i{position:absolute;bottom:0;width:22%;height:70%;border-radius:50%;background:radial-gradient(closest-side,#fffdf8d9,#fffdf800);filter:blur(4px);animation:djSteam 3.6s ease-out infinite;opacity:0}
.pd-steam i:nth-child(1){left:12%}.pd-steam i:nth-child(2){left:40%;animation-delay:1.2s}.pd-steam i:nth-child(3){left:68%;animation-delay:2.4s}
@keyframes djSteam{0%{transform:translateY(30%) scale(.6);opacity:0}30%{opacity:.85}100%{transform:translateY(-40%) translateX(10%) scale(1.3);opacity:0}}
.pd-info.pd-swap>*{animation:djUp .55s cubic-bezier(.2,.8,.2,1) backwards}
.pd-info.pd-swap>*:nth-child(2){animation-delay:.06s}.pd-info.pd-swap>*:nth-child(3){animation-delay:.12s}
@keyframes djUp{0%{transform:translateY(12px);opacity:.2}100%{transform:none;opacity:1}}
.pd-actions .button.red{animation:djPulse 2.8s ease-in-out 2s infinite}
@keyframes djPulse{0%,100%{box-shadow:0 0 0 0 #d7492566}50%{box-shadow:0 0 0 12px #d7492500}}
/* 전체 메뉴 카드 */
.menu-card.dj-in{animation:djCard .7s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:var(--d,0s)}
@keyframes djCard{0%{transform:translateY(36px) scale(.96);opacity:.3}100%{transform:none;opacity:1}}
.menu-card .food-cutout img{transition:transform .5s cubic-bezier(.2,1.4,.4,1)}
.menu-card.dj-in .food-cutout img{animation:djFloat 6s ease-in-out infinite;animation-delay:var(--f,0s)}
.menu-card:hover .food-cutout img{animation-play-state:paused;transform:rotate(-6deg) scale(1.08) translateY(-6px)}
/* 세 친구 */
.dj-friends .section-head{margin-bottom:10px}
.dj-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,3vw,40px);max-width:1000px;margin:0 auto;padding-top:70px}
.dj-friend{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:18px 10px 22px;border-radius:28px;background:#f3ede3;transition:transform .3s}
.dj-friend:hover{transform:translateY(-6px)}
.dj-friend img{width:min(100%,220px);height:auto}
.dj-friend b{font-size:22px;color:#5a1208}
.dj-chip{font-size:13px;font-weight:700;color:#fff;background:#d74925;border-radius:20px;padding:2px 12px}
.dj-bubble{position:absolute;left:50%;bottom:calc(100% - 26px);transform:translateX(-50%);width:max-content;max-width:min(260px,30vw);padding:10px 14px;border-radius:18px;background:#fff;border:1.5px solid #20251f;font-size:14px;line-height:1.5;font-weight:600;color:#20251f;animation:djBubble 4.5s ease-in-out infinite}
.dj-friend:nth-child(2) .dj-bubble{animation-delay:-1.5s}.dj-friend:nth-child(3) .dj-bubble{animation-delay:-3s}
.dj-bubble::after{content:"";position:absolute;left:50%;top:100%;width:14px;height:14px;background:#fff;border:1.5px solid #20251f;border-top:0;border-left:0;transform:translate(-50%,-7px) rotate(45deg)}
@keyframes djBubble{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-5px)}}
.dj-more{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:28px;text-align:center}
.dj-more .nutrition-caption{font-size:12px;color:#777d72;margin:0}
@media(max-width:700px){
 .dj-trio{grid-template-columns:1fr;padding-top:0;gap:14px}
 .dj-friend{display:grid;grid-template-columns:110px 1fr;grid-template-rows:auto auto auto;justify-items:start;text-align:left;column-gap:12px;padding:14px}
 .dj-friend img{grid-row:1/4;grid-column:1;width:110px}
 .dj-friend>*:not(img){grid-column:2}
 .dj-friend b{order:1}.dj-friend .dj-chip{order:2}.dj-friend .dj-bubble{order:3}
 .dj-bubble{position:static;transform:none;max-width:none;width:auto;font-size:13px;animation:none}
 .dj-bubble::after{display:none}
 .dj-friend b{font-size:19px}
 nav{gap:16px}
}
@media(prefers-reduced-motion:reduce){.pd-chars>span,.pd-slide img,.pd-steam i,.pd-info>*,.menu-card,.menu-card img,.dj-bubble,.pd-actions .button{animation:none!important}.pd-steam{display:none}}
