.virtual-store{max-width:1150px;padding-bottom:65px}.rack-heading{padding:45px 0 25px}.rack-heading h1{font-size:clamp(36px,5vw,64px)}.rack-controls{display:flex;gap:16px;align-items:end;flex-wrap:wrap;padding:22px;background:#eee6d5;border:1px solid #c9b795;border-radius:8px;margin-bottom:28px}.rack-controls label{display:grid;gap:5px;flex:1;min-width:150px;font-size:12px}.rack-controls input,.rack-controls select{width:100%;padding:12px;background:#fffdf5;border:1px solid #b4a080;border-radius:5px;color:#251f17}.rack-controls .button{margin:0!important}.rack-scroll{overflow-x:auto;margin-bottom:36px;border-radius:5px;box-shadow:0 20px 45px #35261935}.timber-rack{position:relative;width:100%;min-width:660px;aspect-ratio:1122/1402;isolation:isolate;background:#4b3420}.rack-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.rack-product{position:absolute;left:var(--rack-left);top:var(--rack-top);width:27%;height:23%;z-index:2;display:block;background:none;border:none;box-shadow:none;outline-offset:4px}.rack-pack{position:absolute;left:10%;bottom:17%;width:80%;height:81%;object-fit:contain;object-position:center bottom;filter:drop-shadow(5px 8px 4px #0008);transform-origin:center bottom;transition:transform .22s ease,filter .22s ease}.rack-product:hover .rack-pack,.rack-product:focus-visible .rack-pack{transform:translateY(-5px) scale(1.025);filter:drop-shadow(6px 13px 6px #0009)}.rack-label{position:absolute;top:84%;left:5%;width:90%;padding:4px 8px;background:#fffbea;border:1px solid #bca579;border-radius:2px;box-shadow:0 2px 3px #0005;color:#241e15;font-size:clamp(10px,1.1vw,14px);line-height:1.15;display:flex;align-items:center;justify-content:space-between;gap:7px}.rack-label>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rack-label strong{font-size:clamp(12px,1.4vw,18px);white-space:nowrap}.rack-label small{font-size:9px}.rack-placeholder{position:absolute;left:20%;bottom:17%;width:60%;height:58%;display:grid;place-content:center;background:#80603f;color:#f5e6c7;border-radius:5px 5px 0 0;box-shadow:4px 7px 5px #0007;font-size:25px;line-height:1;font-weight:bold;text-align:center}.rack-embers{position:absolute;left:4%;right:4%;height:5px;pointer-events:none;z-index:1;background:radial-gradient(ellipse at center,#ffa23690,transparent 65%) 0 0/30px 5px;filter:drop-shadow(0 0 3px #ff7000);opacity:.55}.rack-product:focus-visible{outline:3px solid #ffb548;border-radius:5px}@media(max-width:700px){.rack-controls{padding:16px;gap:12px}.rack-label{font-size:10px}.rack-label strong{font-size:12px}.virtual-store{width:calc(100% - 24px)}.rack-scroll{scrollbar-width:thin}.rack-heading{padding-top:30px}}@media(prefers-reduced-motion:reduce){.rack-pack{transition:none!important;transform:none!important}}

/* A continuous rack built from a top row plus repeatable interior rows.
   The same original rack photograph is clipped in CSS; no new artwork. */
.rack-stack{min-width:660px;width:100%}
.rack-stack .rack-row{min-width:0;width:100%;aspect-ratio:1122 / 339.284;overflow:hidden}
.rack-stack .rack-row-first{aspect-ratio:1122 / 385.55}
.rack-row .rack-photo{top:-113.636%;height:413.223%;width:100%;object-fit:fill;max-width:none}
.rack-row-first .rack-photo{top:0;height:363.636%}
.rack-row .rack-product{height:95.041%}
.rack-row-first .rack-product{height:83.636%}
.rack-row .rack-embers{top:87%;height:4px}
.rack-row-first .rack-embers{top:87.27%}
