.products-grid{display:grid!important;column-count:unset!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px}
.products-grid .item{margin-bottom:0;width:auto;break-inside:auto;min-width:0}
.category-band{grid-column:1/-1;margin:22px 0 0;padding:0 0 8px;border-bottom:1px solid #d7b07a47;color:#d7b07a;font-family:Fraunces,Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.category-band:first-child{margin-top:4px}
.filter-row{flex-wrap:wrap;overflow:visible;row-gap:6px}
@media(width<=900px){.products-grid{gap:10px}}
@media(width<=640px){
  .content-inner,.controls-inner{width:min(1120px,calc(100% - 12px))}
  .products-grid{gap:6px}
  .products-grid .item{padding:6px 5px 8px;gap:6px}
  .products-grid .item p{font-size:.72rem;line-height:1.3;overflow-wrap:anywhere}
  .category-band{font-size:.78rem;letter-spacing:.1em;margin-top:16px}
}
.modal-nav{
  min-width:32px!important;
  min-height:32px!important;
  width:32px;
  height:32px;
  padding:0!important;
  font-size:0!important;
  letter-spacing:0!important;
  line-height:1;
  border-radius:999px;
  display:grid!important;
  place-items:center;
}
.modal-nav-prev::before,.modal-nav-next::before{
  font-size:22px;
  line-height:1;
  font-family:Georgia,serif;
}
.modal-nav-prev::before{content:"‹"}
.modal-nav-next::before{content:"›"}
#share-stage img,#product-detail-stage img,#modal-image{cursor:zoom-in}
.media-zoom-launch{
  position:absolute;
  top:8px;
  left:8px;
  z-index:3;
  border:1px solid #f4efe659;
  background:#090807c7;
  color:#f4efe6;
  border-radius:999px;
  padding:4px 8px;
  font:500 .68rem Outfit,Avenir Next,Segoe UI,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#media-zoom{
  position:fixed;
  inset:0;
  z-index:80;
  display:grid;
  place-items:center;
  background:#060504f2;
}
#media-zoom[hidden]{display:none!important}
#media-zoom-stage{
  width:min(100vw,100%);
  height:100dvh;
  display:grid;
  place-items:center;
  overflow:hidden;
  touch-action:none;
}
#media-zoom-stage img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  transform-origin:center center;
  user-select:none;
}
.media-zoom-bar{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  display:flex;
  gap:8px;
}
.media-zoom-bar button{
  border:1px solid #f4efe659;
  background:#090807c7;
  color:#f4efe6;
  border-radius:999px;
  min-width:36px;
  min-height:36px;
  padding:0 10px;
  font:500 .78rem Outfit,Avenir Next,Segoe UI,sans-serif;
}

#product-search{background:#1c1814;border:1px solid #d7b07a;padding:12px 14px;color:#f4efe6}
#product-search::placeholder{color:#f4efe6d6}
#product-search:focus{outline:2px solid #d7b07a;outline-offset:2px}

/* desktop-zoom */
#media-zoom{overscroll-behavior:none}
#media-zoom-stage img{cursor:zoom-in}
#media-zoom.is-zoomed #media-zoom-stage img{cursor:grab}
#media-zoom.is-dragging #media-zoom-stage img{cursor:grabbing}
#media-zoom-hint{display:none}
#media-zoom.is-desktop #media-zoom-hint{
  display:block;
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  margin:0;
  z-index:2;
  color:#f4efe6cc;
  font:500 .8rem Outfit,Avenir Next,Segoe UI,sans-serif;
  letter-spacing:.03em;
  pointer-events:none;
  background:#09080799;
  border-radius:999px;
  padding:6px 12px;
  white-space:nowrap;
}
@media (hover:hover) and (pointer:fine){
  .media-zoom-launch{padding:8px 14px;font-size:.78rem}
  .media-zoom-bar button{min-width:44px;min-height:44px;font-size:.95rem}
}
/* /desktop-zoom */
