.merch-patch{position:absolute;display:block;pointer-events:none;user-select:none}
.merch-hotspot{position:absolute;min-width:44px;min-height:44px;pointer-events:auto;border:0;padding:0;background:none;border-radius:8px}
.merch-hotspot__dot{position:absolute;right:-12px;top:-10px;width:28px;height:28px;display:grid;place-items:center;border-radius:51% 47% 50% 19%;background:var(--paper);color:var(--blue);box-shadow:1px 2px 0 #123c3244;font:23px/1 var(--veluwe-ui,system-ui);transition:transform .2s ease}
.merch-hotspot__label{position:absolute;left:50%;top:100%;z-index:1;transform:translateX(-50%) rotate(-2deg);padding:9px 14px;white-space:nowrap;background:var(--paper);color:var(--blue);font:25px/1 Veluwe,VeluweDisplay,Impact,sans-serif;opacity:0;visibility:hidden;transition:opacity .15s ease}
.merch-hotspot:hover .merch-hotspot__dot{transform:rotate(-8deg) scale(1.12)}
.merch-hotspot:is(:hover,:focus-visible) .merch-hotspot__label{opacity:1;visibility:visible}
.merch-hotspot:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.merch-mobile-rail{display:none}
.merch-scene{position:absolute;inset:0;z-index:7;overflow:clip;background:#715039;opacity:0;transform:scale(1.035);transition:opacity 750ms ease 160ms,transform 1200ms var(--ease);pointer-events:none}
.merch-scene picture,.merch-scene__painting{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}
.merch-scene__back{position:absolute;left:28px;top:100px;min-width:48px;min-height:48px;padding:6px 14px;border:0;background:var(--paper);color:var(--blue);font:30px/1 var(--veluwe-ui,system-ui);border-radius:52% 45% 49% 23%;box-shadow:1px 3px 0 #123c3244}
.merch-scene__caption{position:absolute;left:28px;top:166px;max-width:260px;padding:15px 20px;background:var(--paper);color:var(--forest);transform:rotate(-2deg);box-shadow:2px 3px 0 #123c3240;clip-path:polygon(1% 2%,99% 0,100% 98%,0 100%)}
.merch-scene__caption h2{margin:0;color:var(--blue);font:normal 32px/1 Veluwe,VeluweDisplay,Impact,sans-serif;overflow-wrap:anywhere;hyphens:auto}
.merch-scene__caption p{margin:8px 0 0;font:16px/1.35 var(--veluwe-reading,Georgia,serif)}
.merch-scene__caption .merch-scene__price{font:20px/1.2 var(--veluwe-ui,system-ui);color:var(--blue)}
.merch-take{position:absolute;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;justify-content:center;width:300px;min-height:80px;padding:20px 25px;color:var(--paper);background:none;border:0;isolation:isolate}
.merch-take .fox-button__art,.merch-checkout .fox-button__art{position:absolute;inset:0;width:100%;height:100%;transform:none;pointer-events:none}
.merch-cta-label{position:relative;z-index:1;display:block;padding:0 12%;font:20px/1.2 var(--veluwe-reading,Georgia,serif);text-align:center;pointer-events:none;overflow-wrap:break-word}
body:is([data-view=merch-entering],[data-view=merch]) .wide-scene{transform:translate(calc(-50% + var(--merch-shift-x,0%)),calc(-50% + var(--merch-shift-y,0%))) scale(1.8)}
body:is([data-view=merch-entering],[data-view=merch]) .wide-controls{opacity:0;pointer-events:none}
body[data-view=merch] .wide-scene{opacity:0}
body[data-view=merch] .merch-scene{opacity:1;transform:scale(1);pointer-events:auto}
.merch-bag{position:absolute;z-index:9;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));width:76px;height:80px;display:grid;place-items:center;border:0;background:none;padding:0;transform:rotate(5deg);transition:transform .2s ease;filter:drop-shadow(1px 3px 2px #123c3277)}
.merch-bag img{width:72px;height:76px;object-fit:contain;pointer-events:none}
.merch-bag:hover{transform:rotate(-4deg) translateY(-3px)}
.merch-bag__count{position:absolute;right:0;top:3px;min-width:26px;min-height:26px;padding:3px 6px;border-radius:50%;background:var(--blue);color:var(--paper);font:16px/20px var(--veluwe-ui,system-ui)}
body:not([data-view=wide]):not([data-view=merch]) .merch-bag,body[data-shop-closed=true] .merch-bag,.woodland-menu-open .merch-bag{visibility:hidden;pointer-events:none}
.merch-notice{position:absolute;z-index:10;bottom:118px;left:50%;transform:translateX(-50%) rotate(-1deg);max-width:calc(100% - 32px);margin:0;padding:12px 18px;background:var(--paper);color:var(--blue);box-shadow:2px 3px 0 #123c3240;font:17px/1.35 var(--veluwe-reading,Georgia,serif);text-align:center;pointer-events:none}
.merch-notice:empty{display:none}
@media(max-width:700px){
 .merch-scene__painting[data-product=cap]{object-position:57% center}
 .merch-hotspot{visibility:hidden;pointer-events:none}
 .merch-mobile-rail{position:absolute;left:14px;bottom:max(23px,env(safe-area-inset-bottom));display:flex;gap:5px;pointer-events:auto;padding:8px;background:var(--paper);box-shadow:2px 3px 0 #123c324d;transform:rotate(-1deg);border-radius:3px}
 .merch-mobile-item{display:block;width:46px;min-height:48px;flex:0 0 46px;padding:0;border:0;background:none}
 .merch-mobile-item img{display:block;width:46px;height:45px;object-fit:cover;border-radius:2px}
 .merch-bag{right:12px;bottom:max(14px,env(safe-area-inset-bottom));width:64px;height:72px}
 .merch-bag img{width:60px;height:68px}
 .merch-scene__back{left:16px;top:148px}
 .merch-scene__caption{left:80px;top:148px;max-width:calc(100% - 100px);padding:10px 14px}
 .merch-scene__caption h2{font-size:27px}
 .merch-scene__caption p:not(.merch-scene__price){display:none}
 .merch-scene__caption .merch-scene__price{font-size:17px;margin-top:5px}
 .merch-take{left:14px;transform:none;bottom:max(17px,env(safe-area-inset-bottom));width:calc(100% - 100px);min-height:76px;padding:18px 0}
 .merch-cta-label{font-size:18px}
 .merch-notice{bottom:110px;width:max-content;font-size:16px}
}
@media(prefers-reduced-motion:reduce){.merch-scene,.merch-bag,.merch-hotspot__dot,.merch-hotspot__label{transition:none}.merch-bag:hover,.merch-hotspot:hover .merch-hotspot__dot{transform:none}.merch-scene{transform:none}}
