/* Product view — shared by the storefront sheet and crawlable product pages */
.pv{--pv-ink:#251a19;--pv-muted:#766865;--pv-line:rgba(72,42,39,.14);--pv-rose:#681f2b;--pv-bg:#f4ece5;display:grid;gap:22px;color:var(--pv-ink)}
.pv-gallery{display:flex;flex-direction:column;gap:10px;min-width:0}
.pv-stage{position:relative;border-radius:22px;overflow:hidden;background:var(--pv-bg)}
.pv-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;aspect-ratio:4/5;outline:none}
.pv-track::-webkit-scrollbar{display:none}
.pv-slide{flex:0 0 100%;margin:0;scroll-snap-align:center;display:grid;place-items:center}
.pv-slide img{width:100%;height:100%;object-fit:contain;display:block}
.pv-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,253,248,.88);color:var(--pv-ink);font-size:24px;line-height:1;cursor:pointer;box-shadow:0 6px 18px rgba(37,26,25,.12);opacity:0;transition:opacity .2s}
.pv-prev{left:12px}.pv-next{right:12px}
.pv-stage:hover .pv-nav,.pv-nav:focus-visible{opacity:1}
.pv-count{position:absolute;right:12px;bottom:12px;background:rgba(37,26,25,.55);color:#fff;font-size:11px;letter-spacing:.06em;padding:5px 10px;border-radius:999px}
.pv-single .pv-nav,.pv-single .pv-count,.pv-single .pv-thumbs{display:none}
.pv-thumbs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px}
.pv-thumbs::-webkit-scrollbar{display:none}
.pv-thumb{flex:0 0 58px;height:72px;padding:0;border:1.5px solid transparent;border-radius:12px;overflow:hidden;background:var(--pv-bg);cursor:pointer;opacity:.42;transition:opacity .2s,border-color .2s}
.pv-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pv-thumb:hover,.pv-thumb:focus-visible{opacity:.85}
.pv-thumb.active{opacity:1;border-color:var(--pv-rose)}
.pv-info{display:flex;flex-direction:column;gap:14px;min-width:0}
.pv-name{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:30px;line-height:1.08;margin:0}
.pv-price{font-size:19px;font-weight:700;margin:0;color:var(--pv-rose)}
.pv-desc{margin:0;color:var(--pv-muted);font-size:14px;line-height:1.6}
.pv-label{margin:0 0 9px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--pv-muted)}
.pv-label strong{color:var(--pv-ink);letter-spacing:.04em;text-transform:none;font-size:13px}
.pv-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.pv-swatches{display:flex;flex-wrap:wrap;gap:9px}
.pv-swatch{width:46px;height:46px;border-radius:50%;padding:2px;border:1.5px solid var(--pv-line);background:#fff;cursor:pointer;overflow:hidden;transition:border-color .2s,transform .15s}
.pv-swatch img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.pv-swatch span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:var(--pv-bg);font-size:11px;font-weight:700;color:var(--pv-muted)}
.pv-swatch:hover{transform:translateY(-1px)}
.pv-swatch[aria-pressed="true"]{border-color:var(--pv-rose);box-shadow:0 0 0 2px rgba(104,31,43,.18)}
.pv-sizes{display:flex;flex-wrap:wrap;gap:8px}
.pv-size{min-width:52px;height:42px;padding:0 14px;border-radius:12px;border:1.5px solid var(--pv-line);background:#fff;font:600 13px/1 Montserrat,-apple-system,sans-serif;color:var(--pv-ink);cursor:pointer}
.pv-size[aria-pressed="true"]{border-color:var(--pv-rose);background:var(--pv-rose);color:#fff}
.pv-size.sold-out{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.pv-guide-open{border:0;background:none;padding:0;color:var(--pv-rose);font:600 12px/1 Montserrat,-apple-system,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.pv-guide{border:0;border-radius:22px;padding:0;width:min(560px,94vw);max-height:84vh;box-shadow:0 30px 80px rgba(37,26,25,.25);color:var(--pv-ink)}
.pv-guide::backdrop{background:rgba(37,26,25,.42)}
.pv-guide-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 6px}
.pv-guide-head h3{margin:0;font:500 24px "Cormorant Garamond",Georgia,serif}
.pv-guide-close{border:0;background:var(--pv-bg);width:34px;height:34px;border-radius:50%;font-size:20px;cursor:pointer}
.pv-guide-note{margin:0 20px 12px;color:var(--pv-muted);font-size:12px}
.pv-table-wrap{overflow:auto;padding:0 20px 20px}
.pv-guide table{width:100%;border-collapse:collapse;font-size:13px;text-align:center}
.pv-guide th{background:var(--pv-bg);font-weight:700;padding:10px 8px;white-space:nowrap}
.pv-guide th:first-child,.pv-guide td:first-child{text-align:left;font-weight:700}
.pv-guide td{padding:10px 8px;border-bottom:1px solid var(--pv-line)}
.pv-details{display:grid;gap:8px;margin:2px 0 0;padding:14px 16px;border-radius:16px;background:rgba(244,236,229,.6)}
.pv-details div{display:flex;gap:10px;font-size:12.5px}
.pv-details dt{min-width:84px;color:var(--pv-muted)}
.pv-details dd{margin:0}
.pv-actions{display:flex;flex-direction:column;gap:10px;margin-top:4px}
@media(min-width:900px){
  .pv{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:start}
  .pv-gallery{flex-direction:row;align-items:flex-start;position:sticky;top:20px}
  .pv-stage{flex:1;min-width:0}
  .pv-thumbs{flex-direction:column;flex:0 0 66px;max-height:min(620px,72vh);overflow-y:auto;overflow-x:hidden}
  .pv-thumb{flex:0 0 80px;width:64px}
  .pv-name{font-size:38px}
}
@media(prefers-reduced-motion:reduce){.pv-track{scroll-behavior:auto}.pv-swatch,.pv-nav{transition:none}}
.pv-size-info{margin:10px 0 0;padding:9px 12px;border-radius:12px;background:rgba(244,236,229,.75);font-size:12.5px;color:#251a19}
.pv-sizes .pv-size-info{flex-basis:100%}
