.cart-fab{z-index:50;background:var(--panel);width:54px;height:54px;color:var(--ink);box-shadow:0 0 0 1px var(--line),var(--shadow);border-radius:50%;place-items:center;text-decoration:none;transition:box-shadow .2s,transform .15s;display:grid;position:fixed;bottom:1.4rem;right:1.4rem}.cart-fab:hover{box-shadow:0 0 0 1px var(--brand),var(--shadow)}.cart-fab svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px}.cart-fab circle{fill:currentColor;stroke:none}.cart-fab em{box-sizing:border-box;background:var(--brand);color:#fff;text-align:center;min-width:22px;height:22px;box-shadow:0 0 0 2px var(--paper);border-radius:11px;padding:0 6px;font:700 .72rem/22px IBM Plex Mono,monospace;transition:transform .2s;position:absolute;top:-4px;right:-4px}.cart-fab.is-empty em{transform:scale(0)}.cart-bump{animation:.5s cubic-bezier(.3,1.8,.5,1) cartBump}@keyframes cartBump{40%{transform:scale(1.25)}}.cart-fly{z-index:9999;pointer-events:none;border:2px solid var(--panel);background:linear-gradient(160deg,var(--brand),#7f1d34) center/cover no-repeat;will-change:transform,opacity;border-radius:14px;position:fixed;top:0;left:0;box-shadow:0 12px 30px -10px #00000073}.btn.is-added{background:var(--healthy)!important;border-color:var(--healthy)!important;color:#fff!important}.btn.is-full{animation:.4s cartShake;background:var(--panel)!important;border-color:var(--line)!important;color:var(--ink-soft)!important}@keyframes cartShake{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@media (width<=640px){.cart-fab{width:48px;height:48px;bottom:1rem;right:1rem}}@media (prefers-reduced-motion:reduce){.cart-bump,.btn.is-full{animation:none}}.gal{background:var(--panel);isolation:isolate;outline:none;position:relative;overflow:hidden}.gal--card{aspect-ratio:1}.gal--detail{aspect-ratio:1;border:1px solid var(--line);border-radius:14px}.gal--detail:focus-visible{box-shadow:0 0 0 2px var(--brand)}.gal--empty{place-items:center;text-decoration:none;display:grid}.gal-viewport{touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;overflow:hidden}.gal-viewport[href]{cursor:pointer}.gal.is-dragging .gal-viewport{cursor:grabbing}.gal-track{will-change:transform;height:100%;transition:transform .5s cubic-bezier(.22,.8,.2,1);display:flex}.gal-slide{flex:0 0 100%;place-items:center;height:100%;display:grid}.gal-slide[hidden],.gal-dots span[hidden],.gal-thumb[hidden],.gal-thumbs[hidden]{display:none}.gal-viewport{transition:opacity .18s,transform .18s}.gal.is-switching .gal-viewport{opacity:0;transform:scale(.985)}.gal.is-single .gal-nav,.gal.is-single .gal-dots{display:none}.gal-slide img{object-fit:cover;pointer-events:none;width:100%;height:100%;transition:transform .6s cubic-bezier(.22,.8,.2,1),filter .2s,opacity .2s}.gal--card:hover .gal-slide.is-active img{transform:scale(1.04)}.gal-nav{z-index:2;border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 82%,transparent);-webkit-backdrop-filter:blur(8px);width:38px;height:38px;color:var(--ink);cursor:pointer;opacity:0;border-radius:50%;place-items:center;margin-top:-19px;padding:0;transition:opacity .25s,transform .25s cubic-bezier(.34,1.56,.64,1),border-color .2s,background .2s;display:grid;position:absolute;top:50%;box-shadow:0 6px 18px -8px #00000059}.gal-nav svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.gal-prev{left:10px;transform:translate(-6px)}.gal-next{right:10px;transform:translate(6px)}.gal:hover .gal-nav,.gal:focus-within .gal-nav{opacity:1;transform:none}.gal-nav:hover{border-color:var(--brand);color:var(--brand)}.gal-nav:active{transform:scale(.9)}.gal--card .gal-nav{width:32px;height:32px;margin-top:-16px}.gal--card .gal-nav svg{width:15px;height:15px}@media (hover:none){.gal--detail .gal-nav{opacity:1;transform:none}.gal--card .gal-nav{display:none}}.gal-dots{z-index:2;background:color-mix(in srgb,var(--paper) 70%,transparent);-webkit-backdrop-filter:blur(6px);pointer-events:none;border-radius:999px;gap:5px;padding:5px 7px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.gal-dots span{background:var(--ink-soft);opacity:.45;border-radius:999px;width:6px;height:6px;transition:width .35s cubic-bezier(.22,.8,.2,1),opacity .25s,background .25s}.gal-dots span.is-active{opacity:1;background:var(--brand);width:18px}.gal-count{z-index:2;color:var(--ink);background:color-mix(in srgb,var(--paper) 80%,transparent);-webkit-backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:999px;padding:.25rem .6rem;font:500 .72rem/1.4 IBM Plex Mono,monospace;position:absolute;top:12px;right:12px}.gal-count b{color:var(--brand);font-weight:600}.gal-thumbs{scrollbar-width:none;gap:.5rem;margin-top:.7rem;padding:2px;display:flex;overflow-x:auto}.gal-thumbs::-webkit-scrollbar{display:none}.gal-thumb{cursor:pointer;background:var(--panel);border:1px solid var(--line);opacity:.6;border-radius:10px;flex:none;width:68px;height:68px;padding:0;transition:opacity .2s,border-color .2s,transform .2s,box-shadow .2s;overflow:hidden}.gal-thumb img{object-fit:cover;width:100%;height:100%;display:block}.gal-thumb:hover{opacity:.9;transform:translateY(-2px)}.gal-thumb.is-active{opacity:1;border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}@media (prefers-reduced-motion:reduce){.gal-track,.gal-slide img,.gal-nav,.gal-dots span,.gal-thumb{transition:none}.gal--card:hover .gal-slide.is-active img{transform:none}}
