/* Column reading order matches DOM order; complete cards never split. */
[data-specifications] .spec-layout {
  display: block;
  columns: 2;
  column-gap: 24px;
}
[data-specifications] .spec-group {
  display: inline-block;
  vertical-align: top;
  width: 100%;
  margin: 0 0 24px;
  break-inside: avoid;
}
[data-specifications] .spec-group dl > div:last-child { border-bottom: 0; }
[data-specifications] .spec-group dl > div { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
.detail-grid { align-items: start; gap: 32px; margin-bottom: 32px; }
.detail-grid .quick-summary { margin: 24px 0; }
.detail-grid .quick-summary-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.detail-spec-link { display: inline-block; margin: 0 0 16px; color: var(--accent); }
@media (max-width: 1000px) {
  [data-specifications] .spec-layout { columns: 1; }
}
@media (max-width: 420px) {
  [data-specifications] .spec-group { padding: 16px; }
  [data-specifications] .spec-group dl > div { gap: 12px; }
}
