.purchasing-summary {
  margin-top: 1.15rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7f8f7;
  color: var(--text);
  text-align: start;
}
.purchasing-summary h2,
.purchasing-summary summary { margin: 0; font-family: "Manrope", sans-serif; font-size: 0.9rem; font-weight: 800; line-height: 1.5; }
.purchasing-summary summary { cursor: pointer; min-height: 24px; }
.purchasing-summary summary small { display: block; padding-top: 0.35rem; font-size: 0.76rem; font-weight: 400; color: var(--muted); }
.purchasing-summary dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem 1.25rem; margin: 0.9rem 0 0.65rem; }
.purchasing-summary dt { font-size: 0.76rem; font-weight: 800; color: var(--navy); }
.purchasing-summary dd { margin: 0.25rem 0 0; font-size: 0.78rem; line-height: 1.6; color: var(--muted); }
.purchasing-terms-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 0.78rem; font-weight: 800; text-decoration: underline; text-underline-offset: 0.2em; }
.product-detail-hero { grid-template-areas: "media intro" "terms terms"; }
.product-detail-hero > .purchasing-summary { grid-area: terms; margin-top: 0; }
.product-detail-hero > .purchasing-summary dl { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 760px) {
  .product-detail-hero { grid-template-areas: "intro" "media" "terms"; }
  .product-detail-hero > .purchasing-summary dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 420px) {
  .purchasing-summary { padding: 0.9rem; }
  .purchasing-summary dl, .product-detail-hero > .purchasing-summary dl { grid-template-columns: minmax(0, 1fr); gap: 0.7rem; }
}
