.catalog-gallery {
  display: grid;
  grid-template-columns: minmax(44px, 11%) minmax(0, 1fr);
  align-items: start;
  gap: clamp(8px, 1.3vw, 16px);
  width: 100%;
  min-width: 0;
}
.catalog-gallery:not([data-catalog-gallery]) { grid-template-columns: 1fr; }
.catalog-gallery-figure { position: relative; margin: 0; min-width: 0; }
.storefront-page .product .catalog-gallery-stage {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  max-height: min(70vh, 690px);
  margin: 0;
  overflow: hidden;
  border: 0;
  background: var(--soft, #f4eee5);
}
.catalog-gallery-stage img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
}
.catalog-gallery-original {
  position: absolute;
  inset: .65rem auto auto .65rem;
  padding: .35rem .55rem;
  background: var(--cream, #fffdfa);
  color: var(--ink, #29251f);
  font-size: .8rem;
  font-weight: 650;
  line-height: 1.3;
}
.catalog-gallery-thumbnails { display: grid; align-content: start; gap: 8px; }
.catalog-gallery-thumbnails a {
  display: block;
  aspect-ratio: 1;
  min-height: 44px;
  padding: 2px;
  border: 1px solid var(--line, #e4d9ca);
  background: var(--cream, #fffdfa);
}
.catalog-gallery-thumbnails a[aria-current] { border: 2px solid var(--gold, #8b653b); padding: 1px; }
.catalog-gallery-thumbnails a:hover { border-color: var(--gold, #8b653b); }
.catalog-gallery-thumbnails a:focus-visible { outline: 2px solid var(--gold, #8b653b); outline-offset: 2px; }
.catalog-gallery-thumbnails img { display: block; width: 100%; height: 100%; object-fit: cover; }
.catalog-gallery-caption {
  position: absolute;
  inset: auto auto 13% 5%;
  width: 39%;
  margin: 0;
  color: #fffdfa;
  text-shadow: 0 1px 3px var(--ink, #29251f);
  font-size: clamp(.8rem, 1.1vw, 1rem);
  line-height: 1.4;
  font-weight: 600;
}

.storefront-page .product.product-detail {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  column-gap: clamp(28px, 5vw, 76px);
  row-gap: 24px;
  align-items: start;
}
.product-detail > .product-copy { grid-column: 2; grid-row: 1 / span 2; min-width: 0; }
.product-detail > .product-story { grid-column: 1; grid-row: 2; margin: 0; padding-top: 20px; border-top: 1px solid var(--line, #e4d9ca); }
.product-story h2 { margin: 0 0 .4rem; font-size: clamp(1.55rem, 2.4vw, 2rem); }
.product-story .description { margin: 0; font: 400 1rem/1.6 var(--functional, Manrope, system-ui, sans-serif); }
.product-occasions { margin-top: 1rem; }
.product-occasions h3 { font: 700 .95rem/1.4 var(--functional, Manrope, system-ui, sans-serif); margin: 0 0 .4rem; }
.product-occasions .occasion-list { margin: 0; }
.product-version-description { margin-top: .75rem; }
.product-detail .purchase-price .price-pix { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 9px; margin: .35rem 0; }
.product-detail .price-pix strong,
.product-detail .price-card.price-current { font: 700 clamp(1.85rem, 4vw, 2.55rem)/1.13 var(--functional, Manrope, system-ui, sans-serif); }
.product-detail .price-card:not(.price-current), .product-detail .price-installment { color: var(--muted, #6a6054); font-size: .9rem; }
.product-detail .purchase-panel .shipping-preview { padding: 0; border: 0; border-top: 1px solid var(--line, #e4d9ca); }
.product-detail .shipping-preview-controls { flex-wrap: nowrap; }
.product-detail .shipping-preview-controls input { flex: 1 1 7rem; }
.product-detail .shipping-preview-controls button { flex: 0 1 auto; }
.product-detail .shipping-preview [role=status]:empty { margin: 0; }
.product-detail .shipping-preview [data-shipping-preparation] { margin: .65rem 0 0; color: var(--muted, #6a6054); font-size: .85rem; }
[data-review-jump][hidden], [data-perfume-reviews][hidden], [data-review-form][hidden] { display: none !important; }
@media (max-width: 760px) {
  .storefront-page .product.product-detail { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; gap: 18px; }
  .product-detail > .product-copy, .product-detail > .product-story { grid-column: 1; grid-row: auto; }
}
/* Keep the sensory description under the photograph for legibility in any light. */
.catalog-gallery .catalog-gallery-caption {
  position: static;
  width: auto;
  margin: .65rem 0 0;
  color: var(--ink, #29251f);
  text-shadow: none;
}
