:root{--gap:16px;--radius:14px;--overlay:rgba(0,0,0,.55)}.container{padding:24px 16px}.card{border-color:#f0f0f0;cursor:pointer}.modal-backdrop{position:fixed;inset:0;background:var(--overlay);display:none;align-items:center;justify-content:center;padding:16px}.modal-backdrop[aria-hidden="false"]{display:flex}.modal{background:#fff;width:min(920px,100%);max-height:90vh;overflow:auto;border-radius:16px;border:1px solid #eaeaea}.modal header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #eee}.modal header h3{margin:0;font-size:18px}.modal .close{appearance:none;border:0;background:transparent;font-size:22px;cursor:pointer;line-height:1}.modal .content{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;padding:16px 18px}.modal .gallery img{width:100%;border-radius:12px;display:block}.thumbs{display:flex;gap:8px;margin-top:8px;overflow:auto}.thumbs img{width:64px;height:64px;object-fit:cover;border:1px solid #eee;border-radius:8px;cursor:pointer}.meta h4{margin:0 0 6px;font-size:18px}.price{color:#374151;margin:0 0 12px}.qty{display:flex;align-items:center;gap:8px;margin:10px 0 16px}.qty input{width:64px;padding:8px;border:1px solid #ddd;border-radius:8px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px;border:1px solid #111;background:#111;color:#fff;cursor:pointer}.btn.secondary{background:#fff;color:#111}.category-section{margin-bottom:3rem}.category-title{font-size:0.75rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:#9ca3af;margin-bottom:1.25rem;padding-bottom:0.5rem;border-bottom:1px solid #e5e7eb}.stock-badge{display:inline-block;font-size:0.75rem;font-weight:600;letter-spacing:0.05em;padding:2px 8px;border-radius:999px;margin-bottom:8px}.stock-badge.available{background:#ecfdf5;color:#065f46}.stock-badge.low{background:#fff7ed;color:#9a3412}.stock-badge.sold-out{background:#f3f4f6;color:#6b7280}.card .sold-out-label{color:#9ca3af;font-size:0.85rem}.card .coming-soon-label{color:#9ca3af;font-size:0.85rem;font-style:italic}.card.is-sold-out{opacity:0.6}.drop-label{font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:#9ca3af;margin-bottom:4px}.desc{margin:0 0 10px;color:#4b5563}.desc p{margin:0 0 8px}.lock-scroll{overflow:hidden;touch-action:none}@media (max-width:800px){.modal .content{grid-template-columns:1fr}}