/* Show the complete supplied mockup at every viewport size. */
.goods-visual {
  aspect-ratio: auto;
}
.goods-visual img {
  width: 100%;
  height: auto;
  object-fit: contain;
  -webkit-mask-image: none;
  mask-image: none;
}
.goods-visual::before {
  background-image: url('./assets/image-optimized-20261011/goods-glow.webp');
}
.goods-visual::after {
  display: none;
}
.goods-visual figcaption {
  position: relative;
  left: auto;
  bottom: auto;
  display: table;
  margin-top: 12px;
}
.goods-info dd {
  overflow-wrap: anywhere;
}
.goods-prices {
  width: 100%;
  margin-top: 28px;
  border-collapse: collapse;
  font-size: 13px;
}
.goods-prices caption {
  padding-bottom: 14px;
  border-bottom: 1px solid var(--cyan);
  text-align: left;
  color: var(--cyan);
  font-size: 11px;
  letter-spacing: .06em;
}
.goods-prices th,
.goods-prices td {
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.goods-prices th {
  text-align: left;
  color: #d0c2df;
  font-weight: 400;
}
.goods-prices td {
  padding-left: 16px;
  text-align: right;
  color: #fff;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
[data-panel="limited"] .price-list dd small {
  margin-left: 8px;
  color: var(--cyan);
  font-size: 11px;
  font-weight: 400;
}

/* The high-resolution original is downloaded only when opened. */
.goods-original { display: block; cursor: zoom-in; }
.goods-original:focus-visible { outline: 2px solid var(--cyan); outline-offset: 5px; }

/* Regional prices keep the existing product layout and fit narrow screens. */
.goods-prices { table-layout: fixed; }
.goods-prices th { width: 33%; overflow-wrap: anywhere; }
.goods-regional-prices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
}
.goods-regional-prices > span {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: baseline;
  gap: 2px 4px;
}
.goods-regional-prices small {
  color: #b4a7c4;
  font-size: 9px;
  font-weight: 400;
}
.price-list dd small {
  margin-left: 8px;
  color: var(--cyan);
  font-size: 11px;
  font-weight: 400;
}
.m3-price dd { color: var(--cyan); }
.price-note {
  margin: 16px 0 0;
  color: #bcb0d1;
  font-size: 14px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.price-note > span { display: block; }
.store-regional-prices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 18px;
  margin-top: 14px;
  color: #fff;
  font-size: 12px;
  line-height: 1.7;
  letter-spacing: .02em;
}
.store-regional-prices small { color: #b4a7c4; font-size: 10px; font-weight: 400; }
.store-group > .price-note { margin: 0 0 18px; }
.m3-store-price > span { display: inline; }
.m3-store-price strong { margin-left: 8px; color: var(--cyan); font-weight: 600; }
.buy-price-note { position: relative; margin-top: 28px; max-width: 800px; }
