.buy{display:flex;flex-direction:column;align-items:center;gap:clamp(1.1rem,3vw,1.6rem);width:100%;max-width:340px}.shot{position:relative;width:clamp(190px,46vw,260px);aspect-ratio:1 / 1;border:1px solid var(--line);border-radius:3px;background:radial-gradient(circle at 50% 42%,var(--accent-soft),transparent 70%),var(--bg-2);display:grid;place-items:center;overflow:hidden}.shot img{width:100%;height:100%;object-fit:contain;display:block}.shot .shot-ph{font-size:.52rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);opacity:.65}.shot.zoomable{cursor:zoom-in}.shot.zoomable:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.shot.zoomable:after{content:"";position:absolute;right:.5rem;bottom:.5rem;width:1.55rem;height:1.55rem;border-radius:3px;background-color:var(--accent);background-repeat:no-repeat;background-position:center;background-size:.92rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A0C10' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='16.5' y1='16.5' x2='21' y2='21'/%3E%3C/svg%3E");opacity:.85;transition:opacity .2s,transform .2s}.shot.zoomable:hover:after,.shot.zoomable:focus-visible:after{opacity:1;transform:scale(1.08)}.lightbox{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:clamp(1rem,5vw,3rem);background:#040507db;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:lb-fade .18s ease both}.lightbox[hidden]{display:none}.lightbox-backdrop{position:absolute;inset:0;cursor:zoom-out}.lightbox-figure{position:relative;z-index:1;margin:0;max-width:min(640px,92vw);max-height:86dvh;animation:lb-pop .2s ease both}.lightbox-figure img{display:block;width:100%;max-height:86dvh;object-fit:contain;border-radius:4px;background:#fff;box-shadow:0 24px 60px -20px #000000b3}.lightbox-close{position:fixed;top:clamp(1rem,3vw,1.75rem);right:clamp(1rem,3vw,1.75rem);z-index:2;appearance:none;width:2.5rem;height:2.5rem;display:grid;place-items:center;background:transparent;color:#e8e6df;border:1px solid rgba(255,255,255,.3);border-radius:2px;font-size:1.5rem;line-height:1;cursor:pointer;transition:color .2s,border-color .2s}.lightbox-close:hover{color:var(--accent);border-color:var(--accent)}.lightbox-close:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@keyframes lb-fade{0%{opacity:0}to{opacity:1}}@keyframes lb-pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.opts{display:flex;flex-direction:column;align-items:center;gap:.95rem}.colors{display:inline-flex;border:1px solid var(--line);border-radius:2px;overflow:hidden}.chip{appearance:none;background:transparent;color:var(--muted);font:inherit;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;padding:.6rem 1.2rem;border:0;cursor:pointer;transition:background .2s,color .2s}.chip+.chip{border-left:1px solid var(--line)}.chip:hover{color:var(--ink)}.chip.is-active{background:var(--accent);color:var(--btn-text);font-weight:600}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.size{display:inline-flex;align-items:center;gap:.7rem;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}.size select{appearance:none;-webkit-appearance:none;background-color:var(--bg-2);color:var(--ink);font:inherit;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--line);border-radius:2px;padding:.55rem 2.1rem .55rem .9rem;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 1.05rem) 55%,calc(100% - .78rem) 55%;background-size:.32rem .32rem,.32rem .32rem;background-repeat:no-repeat;transition:border-color .2s}.size select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.price{font-family:Georgia,Times New Roman,serif;font-size:1.1rem;color:var(--ink);min-height:1.2em}.price .cur{color:var(--muted);font-size:.62em;letter-spacing:.12em;margin-left:.35em}.buy-status{margin:0;min-height:1.1em;font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-align:center}.buy-status[data-kind=error]{color:var(--accent-ink)}@media(prefers-reduced-motion:reduce){.chip,.size select,.shot.zoomable:after{transition:none}.lightbox,.lightbox-figure{animation:none}}
