*{box-sizing:border-box}body{margin:0;background:#fff;color:#111;font:12px 'Courier New',monospace}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:1px solid #111;outline-offset:5px}header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 25px;position:relative;z-index:5;background:#fff}.brand{font-size:11px;letter-spacing:-.4px}#menuButton{font-size:29px;font-weight:normal;width:30px;text-align:left}#bagButton{display:flex;gap:6px;align-items:center;padding:6px}.grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:38px 24px;padding:12px 24px 55px}.card{display:flex;flex-direction:column;align-items:center;width:100%;padding:0;min-width:0}.card .photo{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden}.card img{width:100%;height:100%;object-fit:contain;filter:brightness(1.035) contrast(1.045);transition:transform .22s ease}.card:hover img{transform:scale(1.035)}.card .name{font-size:13px;font-weight:400;text-align:center;margin-top:18px;line-height:1.4;overflow-wrap:anywhere}footer{display:flex;justify-content:center;gap:26px;padding:36px 20px;font-size:9px;color:#777;flex-wrap:wrap}nav{position:absolute;top:70px;left:0;padding:25px;background:#fff;z-index:4;width:290px;border-bottom:1px solid #eee}nav:not([hidden]){display:flex;flex-direction:column;align-items:flex-start;gap:26px}nav small{font-size:9px;color:#777;margin-top:35px}dialog{border:0;padding:45px;max-width:1000px;width:calc(100% - 64px);max-height:90dvh;overflow:auto;color:#111;font:12px 'Courier New',monospace}dialog::backdrop{background:#fff9;backdrop-filter:blur(7px)}.close{position:absolute;right:18px;top:12px;font-size:28px;z-index:1}.product-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:center}.product-image img{width:100%;aspect-ratio:1;object-fit:contain;filter:brightness(1.035) contrast(1.045)}h2{font-size:15px;font-weight:400;line-height:1.5;margin:0 0 24px}.muted,.note{color:#777}.note{font-size:10px;line-height:1.8;margin-top:25px}p{line-height:1.8}.primary{border:1px solid #111;padding:17px 20px;width:100%;margin-top:22px}.primary:hover{background:#111;color:white}.primary:disabled{color:#999;border-color:#ccc;cursor:default;background:white}#bag,#info{max-width:560px}#bagItems{margin-top:35px}.bag-row{display:flex;align-items:center;gap:20px;border-bottom:1px solid #eee;padding:15px 0}.bag-row img{width:65px;height:65px;object-fit:contain}.bag-row span{flex:1}.bag-row button{text-decoration:underline;font-size:10px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#111;color:white;padding:13px 20px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:20;white-space:nowrap}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(min-width:1500px){.grid{gap:50px 40px;padding:20px 40px 60px}.card .photo{aspect-ratio:1.05}}@media(max-width:1000px){.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:35px 20px}}@media(max-width:600px){header{height:65px;padding:0 18px}.brand{font-size:10px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 14px 40px;gap:32px 16px}.card .name{font-size:11px;margin-top:12px}.product-layout{grid-template-columns:1fr;gap:20px}dialog{width:100%;max-height:100dvh;padding:45px 24px;margin:auto}.product-image img{max-height:42dvh}footer{font-size:8px;gap:18px}nav{top:65px}.product-info h2{margin-bottom:10px}}

select{display:block;width:100%;border:1px solid #bbb;background:white;padding:14px;font:inherit;margin:10px 0 20px}#description{font-size:11px;line-height:1.7;margin-top:20px}#description p{margin:4px 0}#gallery{display:flex;gap:8px;margin-bottom:20px}#gallery button{padding:0;width:45px;height:45px;border:1px solid #ddd}#gallery img{width:100%;height:100%;object-fit:contain}.bag-row small{display:block;margin-top:6px;color:#777}.qty{width:48px;padding:5px;font:inherit;border:1px solid #bbb}#checkoutError{color:#a00;font-size:11px}#total{text-align:right;padding:15px 0}#paymentNote{color:#666}
