.shop-page {
  background: var(--paper);
  padding-block: clamp(38px, 5vw, 72px) clamp(42px, 6.5vw, 94px);
}

.shop-intro { margin-bottom: clamp(22px, 4vw, 44px); }
.shop-intro h1 { font-size: clamp(2.5rem, 4.2vw, 4rem); }

.shop-product {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  border: 1px solid var(--line);
  border-radius: 19px;
  overflow: clip;
  background: var(--surface);
}

.shop-media {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  margin: 0;
  min-width: 0;
  background: var(--night);
  color: var(--muted);
}

.shop-media figcaption { padding: 12px 18px; font-size: 13px; line-height: 1.4; }

.shop-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: var(--night);
}

.shop-details {
  align-self: center;
  padding: clamp(24px, 4.25vw, 62px);
}

.shop-intro h1, .shop-details h2 { letter-spacing: -.035em; line-height: 1.08; }
.shop-status { margin-bottom: 8px; color: var(--accent-text); font-size: .875rem; font-weight: 700; }
.shop-details h2 { font-size: clamp(2.15rem, 4.1vw, 4.25rem); }
.shop-description { margin-top: 12px; color: var(--muted); text-wrap: pretty; }
.shop-price { margin-block: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.shop-price strong { font-size: clamp(1.125rem, 2vw, 1.375rem); }
.shop-price p + p { margin-top: 4px; color: var(--muted); font-size: .875rem; }

.shop-expectations {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: start;
  gap: clamp(30px, 6vw, 88px);
  margin-top: clamp(48px, 7vw, 96px);
}
.shop-expectations h2 { margin-bottom: 16px; font-size: clamp(2rem, 3.6vw, 3.5rem); }
.shop-expectations-intro > p { max-width: 36ch; color: var(--muted); }
.shop-expectations .button { margin-top: 24px; }
.shop-expectations-list > div { padding-block: 21px; border-top: 1px solid var(--line); }
.shop-expectations-list > div:last-child { border-bottom: 1px solid var(--line); }
.shop-expectations-list dt { margin-bottom: 9px; font-size: 1.125rem; font-weight: 600; }
.shop-expectations-list dd { color: var(--muted); line-height: 1.55; }

@media (max-width: 760px) {
  .shop-product, .shop-expectations { grid-template-columns: 1fr; }
  .shop-photo { height: auto; }
}
