body{font-family:system-ui,sans-serif;margin:0;background:#fafafa;color:#222}
header{padding:1rem 2rem;background:#222;color:#fff}header a{color:#fff;text-decoration:none}
main{max-width:960px;margin:2rem auto;padding:0 1rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}
.card{background:#fff;border-radius:12px;padding:1rem;text-align:center;box-shadow:0 1px 4px #0002;color:inherit;text-decoration:none}
.card img,.product img{max-width:100%}
.badge{display:inline-block;background:#e33;color:#fff;font-size:.75rem;padding:.15rem .5rem;border-radius:6px}
.product{display:flex;gap:2rem;flex-wrap:wrap}.product>div{flex:1;min-width:260px}
.buy{display:inline-block;margin-top:1rem;padding:.8rem 1.6rem;background:#635bff;color:#fff;border-radius:8px;text-decoration:none;font-weight:bold}
select{font-size:1rem;padding:.4rem}footer{text-align:center;color:#888;font-size:.85rem;padding:2rem}
.main-img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff;border-radius:12px;box-shadow:0 1px 4px #0002}
.thumbs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}
.thumb{padding:0;border:2px solid transparent;border-radius:8px;background:#fff;cursor:pointer;width:70px;height:56px;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover}.thumb[aria-current=true]{border-color:#635bff}
.note{color:#777;font-size:.85rem}

.ph{color:#b45309;font-size:.8em;font-weight:600}
.expired{max-width:560px;margin:3rem auto;text-align:center}
.tagline{font-size:1.1rem;font-style:italic;color:#444;margin:.2rem 0 .6rem}
.size-note{font-size:.85rem;color:#8a5a00;background:#fff4d6;display:inline-block;padding:.15rem .5rem;border-radius:6px}
.size-note[hidden]{display:none}

.age-ok{display:inline-block;margin-top:1rem;font-size:.9rem}
.buy[aria-disabled="true"]{background:#aaa;cursor:not-allowed;pointer-events:none}
.gallery{position:relative}.ex-tag{position:absolute;top:.5rem;left:.5rem;background:#222;color:#fff;font:800 .72rem system-ui,sans-serif;text-transform:uppercase;letter-spacing:.06em;padding:.25rem .5rem;border-radius:999px;z-index:1}
