@layer pages {
  .purchase-grid { display: grid; gap: var(--s-8); align-items: start; }
  .purchase-main { display: grid; gap: var(--s-6); min-width: 0; }
  .purchase-block { display: grid; gap: var(--s-6); min-width: 0; border: 0; border-radius: var(--r-xl); padding: var(--s-7); background: var(--surface); box-shadow: var(--sh-inset); }
  .purchase-block__title { display: flex; gap: var(--s-3); align-items: baseline; float: left; width: 100%; font-size: var(--fs-title-lg); font-weight: 600; padding: 0; }
  .purchase-block__title + * { clear: both; }
  .purchase-products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-3); }
  .purchase-product .choice__body { padding: var(--s-3); gap: var(--s-2); text-align: center; }
  .purchase-product .choice__title { justify-content: center; font-size: var(--fs-small); }
  .purchase-product img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--r-sm); }
  .purchase-product .choice__desc { font-size: var(--fs-caption); }
  .purchase-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-3); }
  .purchase-option .choice__body { height: 100%; padding: var(--s-5); gap: var(--s-3); }
  .purchase-option .choice__title { font-size: var(--fs-body-lg); }
  .purchase-option__en { font-family: var(--font-serif); font-style: italic; color: var(--accent-text); font-size: var(--fs-title); }
  .purchase-option__price { display: flex; gap: var(--s-1); align-items: baseline; font-size: var(--fs-title-lg); font-weight: 600; font-variant-numeric: tabular-nums; }
  .purchase-option__price small { font-size: var(--fs-caption); }
  .purchase-option__features { display: grid; gap: var(--s-2); padding-top: var(--s-3); border-top: 1px solid var(--line-soft); font-size: var(--fs-caption); color: var(--text-sub); }
  .purchase-option__features > span { display: flex; align-items: baseline; gap: var(--s-2); }
  .purchase-option__features .icon { flex: 0 0 var(--s-3); }
  .purchase-summary { min-width: 0; }
  .purchase-summary__inner { overflow: hidden; border-radius: var(--r-xl); background: var(--bg-alt); }
  .purchase-summary__image { position: relative; }
  .purchase-summary__image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
  .purchase-summary__image figcaption { padding: var(--s-2) var(--s-5); background: var(--bg-deep); color: var(--text-sub); font-size: var(--fs-caption); }
  .purchase-summary__body { display: grid; gap: var(--s-5); padding: var(--s-7); }
  .purchase-summary__body .link { justify-self: start; }
  .purchase-total { display: grid; gap: var(--s-2); padding-top: var(--s-5); border-top: 1px solid var(--line); }
  .purchase-total > span { font-size: var(--fs-small); color: var(--text-sub); }
  .purchase-total p { display: flex; align-items: baseline; gap: var(--s-2); }
  .purchase-total b { font-size: var(--fs-display-md); line-height: var(--lh-tight); }
  .purchase-payment { display: grid; gap: var(--s-4); }
  .purchase-payment__active { display: flex; align-items: start; gap: var(--s-3); padding: var(--s-5); background: var(--bg-alt); border-radius: var(--r-lg); }
  .purchase-payment__active > .icon { flex-shrink: 0; margin-top: var(--s-1); }
  .purchase-payment__active p { margin-top: var(--s-2); }
  .purchase-payment__pending { display: grid; gap: var(--s-3); border: 1px dashed var(--line); border-radius: var(--r-lg); padding: var(--s-5); }
  .purchase-payment__pending .btn { justify-self: start; }
  .purchase-coming { background: var(--bg-alt); }
  .purchase-design { display: grid; gap: var(--s-3); padding-block: var(--s-4); border-block: 1px solid var(--line); font-size: var(--fs-small); }
  .purchase-design h3 { font-weight: 600; }
  .purchase-design dl { display: grid; gap: var(--s-2); }
  .purchase-design dl > div { display: flex; justify-content: space-between; gap: var(--s-4); }
  .purchase-design dt { color: var(--text-sub); }
  .purchase-design dd { text-align: right; }
  .purchase-design .link { font-size: var(--fs-caption); }
  @media (min-width: 1100px) {
    .purchase-grid { grid-template-columns: minmax(0, 1fr) 360px; }
    .purchase-summary__inner { position: sticky; top: calc(var(--header-h) + var(--s-5)); }
    .purchase-summary { align-self: stretch; }
  }
  @media (max-width: 700px) {
    .purchase-block, .purchase-summary__body { padding: var(--s-5); }
    .purchase-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .purchase-options { grid-template-columns: 1fr; }
    .purchase-option .choice__body { display: grid; grid-template-columns: 1fr auto; }
    .purchase-option__en, .purchase-option .choice__desc, .purchase-option__features { grid-column: 1 / -1; }
    .purchase-option .choice__title { grid-column: 1; }
    .purchase-option__price { grid-column: 2; }
  }
}
