/* Styles are scoped to the new catalog and product pages. */
.other-products-page .other-products-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  padding-top: 12px;
  padding-bottom: 100px;
}
.other-product-card {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 24px;
  background: rgba(255,255,255,.04);
}
.other-product-art { display: block; background: #080808; }
.other-product-art img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: contain;
}
.other-product-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  background: rgba(255,255,255,.06);
  border-top: 1px solid rgba(255,255,255,.12);
}
.other-product-bar h2 { font-size: 1.5rem; letter-spacing: -.04em; margin-bottom: 5px; }
.coming-status { display: flex; align-items: center; gap: 9px; color: #ccc; font-size: .86rem; }
.coming-status span { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #e8bb64; }
.other-product-heading { padding: 52px 0 0; margin-bottom: 30px; }
.back-to-products { color: #bbb; font-size: .95rem; }
.other-product-heading h1 { margin-top: 22px; font-size: clamp(2.5rem, 6vw, 4.6rem); letter-spacing: -.065em; line-height: 1.1; }
.other-products-page .other-product-detail { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 38px; align-items: start; padding: 0 0 90px; }
.other-product-left { min-width: 0; }
.other-product-cover { display: block; width: 100%; border-radius: 22px; border: 1px solid rgba(255,255,255,.16); }
.other-product-image-slots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.other-product-image-slot { display: grid; place-items: center; min-height: 130px; padding: 16px; border: 1px dashed rgba(255,255,255,.2); border-radius: 16px; color: #aaa; text-align: center; font-size: .85rem; background: rgba(255,255,255,.025); }
.other-product-coming { position: sticky; top: 112px; padding: 34px; border: 1px solid rgba(255,255,255,.16); border-radius: 26px; background: rgba(255,255,255,.07); }
.other-product-coming h2 { font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -.055em; margin: 24px 0 14px; line-height: 1.15; }
.other-product-coming > p:not(.coming-status) { color: #bbb; margin-bottom: 28px; }
.other-product-info { margin-top: 48px; padding: 30px 0 0; border-top: 1px solid rgba(255,255,255,.16); }
.other-product-info h2 { font-size: 2rem; letter-spacing: -.04em; margin: 8px 0 14px; }
.other-product-info p { color: #bbb; }
.other-product-info-row { padding: 26px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.other-product-info-row h3 { margin-bottom: 8px; font-size: 1.1rem; }
.other-products-page a:focus-visible { outline: 2px solid #e8bb64; outline-offset: 5px; }
@media (max-width: 960px) {
  .other-product-bar { align-items: flex-start; flex-direction: column; }
  .other-products-page .other-product-detail { gap: 24px; }
  .other-product-coming { padding: 24px; }
}
@media (max-width: 760px) {
  .other-products-page .other-products-grid,
  .other-products-page .other-product-detail { grid-template-columns: minmax(0, 1fr); }
  .other-product-coming { position: static; }
  .other-product-bar { flex-direction: row; align-items: center; flex-wrap: wrap; }
  .other-product-image-slot { min-height: 100px; }
}
