/* 3D effects v22: pin drop, press-tilt, loading logo */
html body .yh-house.yh-pin{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;width:auto!important;height:auto!important;padding:0!important;transform:none!important;animation:none!important;filter:none!important}
html body .yh-house.yh-pin::before,html body .yh-house.yh-pin::after{display:none!important}
.yh-pin{position:relative;transform-style:preserve-3d;line-height:0}
.yh-pin .fx-pin{display:block;transform-origin:50% 96%;filter:drop-shadow(0 3px 3px rgba(0,0,0,.45))}
.yh-pin .fx-shadow{position:absolute;left:50%;bottom:0;width:60%;height:6px;margin-left:-30%;border-radius:50%;background:radial-gradient(rgba(0,0,0,.55),transparent 70%);opacity:0}
.yh-pin .fx-ring{position:absolute;left:50%;bottom:0;width:12px;height:5px;margin-left:-6px;border-radius:50%;border:2px solid #E01B24;opacity:0}
.yh-pin.active .fx-pin{filter:drop-shadow(0 4px 5px rgba(0,0,0,.55))}
.fx-drop .fx-pin{animation:fxDrop .6s cubic-bezier(.3,0,.3,1) var(--fx-delay,0ms) both}
.fx-drop .fx-shadow{animation:fxShad .6s var(--fx-delay,0ms) both}
.fx-drop .fx-ring{animation:fxRing .7s calc(var(--fx-delay,0ms) + 300ms) ease-out both}
@keyframes fxDrop{0%{transform:translateY(-120px) rotateY(0) scale(.7);opacity:0}10%{opacity:1}50%{transform:translateY(0) rotateY(360deg) scale(1)}60%{transform:translateY(0) scale(1.15,.82)}74%{transform:translateY(-10px) scale(.96,1.05)}86%{transform:translateY(0) scale(1.04,.96)}100%{transform:translateY(0) rotateY(360deg) scale(1)}}
@keyframes fxShad{0%{transform:scale(.2);opacity:0}50%,100%{transform:scale(1);opacity:1}74%{transform:scale(.7)}}
@keyframes fxRing{0%{transform:scale(1);opacity:.9}100%{transform:scale(6);opacity:0}}
.yh-pin:not(.fx-drop) .fx-shadow{opacity:1}
/* press-tilt: transform only, existing colours/shadows untouched */
.btn.btn-buy,.btn.btn-buy-soon,.tabbar .post-tab .post-fab{transition:transform .15s ease;transform-style:preserve-3d;will-change:transform}
.fx-tilt-host{perspective:600px}
/* loading logo */
.fx-loader{display:grid;place-items:center;perspective:600px}
.fx-splash{position:absolute;inset:0;min-height:100vh;min-height:100dvh;background:radial-gradient(circle,#140507,#000 70%);z-index:5}
.fx-loader-sm{padding:18px 0}
.fx-spin{width:110px;height:110px;margin:0 auto;position:relative;transform-style:preserve-3d;animation:fxSpin 4s linear infinite}
.fx-loader-sm .fx-spin{width:56px;height:56px}
.fx-spin img{position:absolute;inset:0;width:100%;height:100%}
.fx-spin img:nth-child(2){transform:translateZ(-3px);filter:brightness(.6)}
.fx-spin img:nth-child(3){transform:translateZ(-6px);filter:brightness(.6)}
@keyframes fxSpin{to{transform:rotateY(360deg)}}
.fx-lt{margin-top:14px;font:600 13px Inter,system-ui,sans-serif;color:#999;text-align:center;letter-spacing:.1em}
.fx-loader-sm .fx-lt{margin-top:8px;font-size:11px}
@media (prefers-reduced-motion:reduce){.fx-drop .fx-pin,.fx-drop .fx-shadow,.fx-drop .fx-ring,.fx-spin{animation:none!important}.yh-pin .fx-shadow{opacity:1}.btn.btn-buy,.btn.btn-buy-soon,.tabbar .post-tab .post-fab{transform:none!important;transition:none!important}}
