/* Boutique browsing only. Existing product, cart and checkout styling is retained. */
.aps-shop .shop-signature{color:var(--gold)}
.aps-shop .boutique-categories{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:12px 24px;margin:32px 0 18px;padding:0;border:0}
.aps-shop .boutique-categories button{appearance:none;background:none;border:0;border-bottom:1px solid transparent;border-radius:0;color:var(--gold);font:inherit;font-size:14px;line-height:1.5;padding:10px 0;min-height:44px;cursor:pointer}
.aps-shop .boutique-categories button[aria-pressed="true"]{border-bottom-color:var(--gold)}
.aps-shop .boutique-categories button:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
.aps-shop .category-description{font-size:14px;color:var(--muted);margin:0}
.aps-shop .boutique-categories[hidden],.aps-shop .boutique-categories button[hidden],.aps-shop .category-description[hidden],.aps-shop .product-card[hidden]{display:none}
@media(max-width:640px){.aps-shop .boutique-categories{gap:8px 20px}}

/* Shared portrait frames, with the full maker photograph preserved. */
#boutique-products .product-photo{aspect-ratio:4/5;align-self:start;background:#181614}
#boutique-products .product-photo img{display:block;width:100%;height:100%;aspect-ratio:4/5;object-fit:contain;object-position:center}

/* Align corresponding editorial fields within each row without clipping copy. */
@supports(grid-template-rows:subgrid){
  #boutique-products{row-gap:0}
  #boutique-products .product-card{display:grid;grid-template-rows:subgrid;grid-row:span 10;row-gap:0;padding-bottom:56px}
  #boutique-products .product-card[hidden]{display:none}
  #boutique-products .product-card>.product-photo{grid-row:1}
  #boutique-products .product-card>.product-attributes{grid-row:2}
  #boutique-products .product-copy{display:grid;grid-template-rows:subgrid;grid-row:3 / span 8;row-gap:0;padding-top:22px}
  #boutique-products .product-brand-group{align-self:start}
  #boutique-products .product-card h2{align-self:start}
  #boutique-products .product-copy .stock{margin-top:0!important}
  #boutique-products .button{align-self:start}
  @media(max-width:640px){#boutique-products .product-card{padding-bottom:48px}}
}
