/* A basket that comes to meet the toy, then returns to its dock. */
.cart-dock{position:fixed;right:max(28px,calc((100vw - 1450px)/2));top:30px;z-index:60;isolation:isolate}
body.hero-reference-page .cart-dock .cart-dock-button{position:relative;display:grid;place-items:center;width:64px;height:64px;min-height:64px;padding:8px;border:1px solid #fff9;border-radius:50%;background:#fffaf2;color:#243653;box-shadow:0 5px 24px #2436531c;cursor:pointer;transform-origin:50% 50%;touch-action:manipulation}
.cart-dock .basket-svg{width:47px;height:47px;overflow:visible;stroke:none}
.cart-dock .basket-handle{transform-origin:32px 28px;transition:transform .18s ease}
.cart-dock .basket-mouth{transition:transform .18s ease;transform-origin:32px 30px}
.cart-dock.is-catching .basket-handle{transform:translateY(-6px) rotate(-8deg)}
.cart-dock.is-catching .basket-mouth{transform:scaleY(1.4)}
.cart-dock-count{position:absolute;right:-3px;top:-3px;display:grid;place-items:center;min-width:23px;height:23px;padding:0 5px;background:#243653;border:2px solid #fffaf2;border-radius:20px;color:#fffaf2;font-size:10px;line-height:1;font-weight:750;transition:opacity .15s}
.cart-dock-label{position:absolute;right:77px;top:22px;font-size:12px;font-weight:650;color:#243653;background:#fffaf2e6;padding:3px 8px;border-radius:8px;pointer-events:none;transition:opacity .15s}
.cart-dock.is-moving .cart-dock-label,.cart-dock.is-moving .cart-dock-count{opacity:0}
body.hero-reference-page .cart-dock.is-moving .cart-dock-button{cursor:default;will-change:transform;background:transparent;border-color:transparent;box-shadow:none}
.cart-dock-button:focus-visible{outline:3px solid #6955ac;outline-offset:5px}
.catalog-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}
.catalog-actions .catalog-open{font-size:12px;min-height:44px;padding:4px 0;gap:6px}
.catalog-actions .catalog-open svg{width:16px;height:16px}
.catalog-add{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 13px;border:1px solid #24365316;border-radius:14px;background:#ffda61;color:#243653;font-size:11px;font-weight:700;line-height:1.3;white-space:nowrap;transition:background .2s,box-shadow .2s}
.catalog-add svg{width:16px;height:16px;flex-shrink:0}
.catalog-add:disabled{cursor:default}
.catalog-add.is-queued{background:#e9e4fc}
.catalog-card.is-packing{border-color:#d9ded8;box-shadow:inset 0 0 0 1px #ffffff80;background:#fffdf9}
.catalog-card.is-packing>article{visibility:hidden;pointer-events:none}
.cart-motion-layer{position:fixed;inset:0;z-index:59;pointer-events:none;overflow:hidden;contain:layout style}
.cart-motion-card{position:fixed;margin:0;pointer-events:none;transform-origin:50% 50%;will-change:transform,border-radius;overflow:hidden;isolation:isolate}
.cart-motion-card article{height:100%}
.cart-motion-card .catalog-open:after{display:none}
.cart-motion-card .parcel-fold{position:absolute;inset:0;z-index:3;background:linear-gradient(135deg,#ffffff00 28%,#ffffff6b 29%,#ffffff0d 53%,#24365320 54%,#ffffff00 72%);mix-blend-mode:soft-light;pointer-events:none}
.cart-yarn-ball{position:fixed;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 28% 22%,#fffdf3,var(--parcel-color));box-shadow:inset -7px -8px 12px #24365328,inset 4px 5px 7px #ffffffa8,0 9px 20px #24365324;will-change:transform,opacity}
.cart-yarn-ball img{width:79%;height:79%;object-fit:contain;filter:drop-shadow(0 2px 2px #24365330);border-radius:45%}
.cart-yarn-ball svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#fffdf3b3;stroke-width:1.5;stroke-linecap:round}
.cart-status{position:fixed;left:50%;bottom:24px;z-index:65;transform:translate(-50%,12px);max-width:calc(100% - 40px);padding:11px 18px;border:1px solid #24365316;border-radius:18px;background:#fffaf2f5;color:#243653;box-shadow:0 6px 24px #24365313;font-size:12px;font-weight:550;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.cart-status.is-visible{opacity:1;transform:translate(-50%,0)}
.product-cart-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px}
.product-cart-actions .product-back{margin:0;min-height:48px;background:transparent;color:#243653;border:1px solid #24365330}
.product-cart-actions .product-add{min-height:49px;font-size:13px;padding:12px 22px}
.cart-dialog{width:min(660px,calc(100% - 32px))}
.cart-dialog .dialog-head h2{font-size:24px}
.cart-dialog .close-dialog{width:44px;height:44px;min-width:44px;min-height:44px}
.cart-summary{font-size:13px;color:#6b5c71;margin-bottom:17px}
.cart-items{display:grid;gap:12px;list-style:none;padding:0;margin:0}
.cart-item{display:grid;grid-template-columns:82px minmax(0,1fr) 44px;gap:14px;align-items:center;padding:13px;border:1px solid #24365314;border-radius:20px;background:#fffdf8}
.cart-item-photo{width:82px;height:91px;object-fit:contain;background:var(--cart-tile,#e9e4fc);border-radius:14px}
.cart-item h3{font-size:15px;line-height:1.25;letter-spacing:-.3px}
.cart-item p{font-size:11px;line-height:1.5;color:#6b5c71;margin-top:4px}
.cart-quantity{display:flex;align-items:center;gap:5px;margin-top:9px}
.cart-quantity button,.cart-remove{display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:12px;background:#f0ecf5;color:#243653;font-size:20px}
.cart-quantity button:disabled{opacity:.45;cursor:default}
.cart-quantity span{min-width:28px;text-align:center;font-size:12px;font-weight:700}
.cart-remove{background:transparent;align-self:start}
.cart-remove svg{width:17px;height:17px}
.cart-empty{padding:12px 0 23px;font-size:15px;color:#526071}
.cart-empty[hidden]{display:none}
.cart-note{border-top:1px solid #24365317;margin-top:23px;padding-top:18px;font-size:12px;color:#6b5c71;line-height:1.6}
.cart-browse{margin-top:18px}
@media(hover:hover){.cart-dock:not(.is-moving) .cart-dock-button:hover{background:#fff4c9}.catalog-add:not(:disabled):hover{background:#ffe787;box-shadow:0 4px 12px #d0af5126}.cart-quantity button:not(:disabled):hover,.cart-remove:hover{background:#e9e4fc}}
@media(max-width:1100px) and (min-width:701px){.catalog-actions{flex-wrap:wrap;gap:4px}.catalog-add{font-size:10px;padding:8px 10px}.cart-dock{right:24px}}
@media(max-width:700px){body.hero-reference-page{padding-bottom:92px}.cart-dock{top:auto;right:18px;bottom:max(18px,env(safe-area-inset-bottom))}body.hero-reference-page .cart-dock .cart-dock-button{width:60px;height:60px;min-height:60px}.cart-dock-label{display:none}.cart-dock .basket-svg{width:44px;height:44px}.catalog-actions{flex-direction:column;align-items:stretch;gap:5px}.catalog-actions .catalog-open{justify-content:flex-start;font-size:11px}.catalog-add{width:100%;font-size:11px;padding:10px 9px;border-radius:12px}.cart-status{bottom:90px;font-size:11px;padding:10px 14px;width:max-content;text-align:center}.cart-item{grid-template-columns:65px minmax(0,1fr) 44px;gap:8px;padding:10px}.cart-item-photo{width:65px;height:82px}.cart-item h3{font-size:13px}.cart-item p{font-size:10px}.cart-remove{min-width:44px;min-height:44px}.cart-quantity{gap:3px}.cart-quantity button{min-width:44px;min-height:44px}.cart-quantity span{min-width:20px}.cart-dialog .dialog-head h2{font-size:21px}.cart-dialog .dialog-body{padding:16px}.product-cart-actions{flex-direction:column;align-items:stretch;gap:10px;margin-top:23px}.product-cart-actions .button{justify-content:center;font-size:12px}}
@media(prefers-reduced-motion:reduce){.cart-dock *, .catalog-add,.cart-status{transition:none!important}.cart-motion-layer{display:none}}

.cart-total{margin-top:22px;font-size:19px;font-weight:700;color:#243653}.cart-total[hidden]{display:none}.product-info .product-stock{font-size:13px;margin-top:-14px;margin-bottom:20px;color:#526071}.catalog-add:disabled:not(.is-queued){background:#ede9f0;color:#655b6d}
