.storefront-feature {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  border: 1px solid var(--line);
  background: var(--cream);
}
.provider-synced-card .merch-crop img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.provider-synced-card .merch-crop {
  margin: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  min-height: 0;
}
.merch-photo-link { display: block; }
.merch-photo-link:focus-visible { outline: 3px solid var(--olive); outline-offset: -3px; }
.merch-actions { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; }
.merch-actions .text-link { padding: .75rem 0; font-size: .85rem; }
.provider-synced-card .merchandise-copy { display: flex; flex-direction: column; }
.provider-synced-card .merchandise-copy small { margin-top: auto; padding: .75rem 0; }
.product-detail-grid { align-items: start; }
.product-gallery { min-width: 0; }
.product-gallery figure { min-height: 0; border-radius: 0; }
.product-gallery figure img { min-height: 0; height: auto; aspect-ratio: 1; object-fit: contain; }
.product-original { margin-top: 1rem; border-block: 1px solid var(--line); }
.product-original summary { cursor: pointer; padding: .85rem 0; color: var(--olive); font-weight: 700; }
.product-original summary:focus-visible { outline: 2px solid var(--olive); outline-offset: 2px; }
.product-original img { display: block; width: 100%; height: auto; }
.product-description { white-space: pre-line; }
.product-detail-grid h1 { max-width: none; font-size: clamp(2.25rem, 4.5vw, 4rem); line-height: 1; letter-spacing: -.04em; text-wrap: balance; }
.storefront-feature [data-storefront-links] {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 0;
  border: 0;
  background: transparent;
}
.storefront-feature .product {
  min-width: 0;
  min-height: 0;
  flex: 1;
}
.storefront-feature .product h2 {
  margin-top: 0;
}
.storefront-feature .product + .product {
  border-top: 1px solid var(--line);
}
.storefront-picks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
}
.storefront-picks a {
  display: flex;
  flex-direction: column;
  min-width: 0;
  color: var(--brown);
  text-decoration: none;
}
.storefront-picks img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
}
.storefront-picks span {
  padding: .75rem 1rem;
  font: 600 1.3rem/1.15 var(--serif);
}
.storefront-picks a:hover span {
  text-decoration: underline;
}
.storefront-picks a:focus-visible {
  outline: 3px solid var(--olive);
  outline-offset: -3px;
}
@media (max-width: 720px) {
  .storefront-feature { grid-template-columns: minmax(0, 1fr); }
  .storefront-feature .product { padding: 1.1rem; }
  .storefront-feature .product .button { margin-top: .5rem; }
  .storefront-picks span { padding: .65rem .75rem; font-size: 1.1rem; }
}
