.product-size-stage {
  aspect-ratio: 1;
  display: grid;
  place-items: center;
}
.product-size-stage > img {
  transform: scale(var(--selected-size, 0.649));
  transition: transform 180ms ease-out;
}
.product .size-option { grid-template-columns: auto 1fr; }
.product .size-text small { display: block; margin-top: 4px; font-size: 13px; color: var(--steel); }
.product .size-guidance { font-size: 13px; line-height: 1.6; }
.product .size-guidance a { text-decoration: underline; text-underline-offset: 3px; }
.product-view-note { margin: 8px 0 16px; color: var(--steel); font-size: 13px; line-height: 1.6; }
.product .product-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.product .favorite-button { min-height: 48px; }
@media (prefers-reduced-motion: reduce) {
  .product-size-stage > img { transition: none; }
}
@media (max-width: 600px) {
  .product .product-actions { display: grid; width: 100%; }
}
.product-heading { grid-column: 2; grid-row: 1; display: grid; gap: 18px; }
.product-heading h1 { font-size: 60px; }
.product-heading .lead { font-size: 17px; }
.product-gallery { grid-column: 1; grid-row: 1 / span 2; }
.product-info { grid-column: 2; grid-row: 2; }
.product { row-gap: 18px; }
@media (max-width: 850px) {
  .product-heading { grid-column: 1; grid-row: 1; }
  .product-heading h1 { font-size: 42px; }
  .product-gallery { grid-column: 1; grid-row: 2; width: 100%; justify-self: center; }
  .product-info { grid-column: 1; grid-row: 3; }
  .product { grid-template-columns: minmax(0, 1fr); }
}
