/* Only the drivetrain/timing reference packet uses these table cards. */
.drivetrain-reference #service-prices { scroll-margin-top: 110px; }
.drivetrain-reference #model-systems { scroll-margin-top: 110px; }
.drivetrain-reference .model-system-grid { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; }
.drivetrain-reference .model-system-grid .photo-card { margin: 18px 0; min-height: 0; }
.drivetrain-reference .model-system-grid .photo-card img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; }
@media (max-width: 900px) { .drivetrain-reference .model-system-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) { .drivetrain-reference .model-system-grid { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 768px) {
 .drivetrain-reference .reference-table { display:block; width:100%; min-width:0; }
 .drivetrain-reference .reference-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .drivetrain-reference .reference-table tbody { display:grid; gap:16px; }
 .drivetrain-reference .reference-table tr { display:block; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
 .drivetrain-reference .reference-table td { display:block; width:100%; min-width:0; white-space:normal; overflow-wrap:anywhere; padding:14px 16px; text-align:left; }
 .drivetrain-reference .reference-table td::before { content:attr(data-label); display:block; font-size:14px; font-weight:700; color:#4a5b70; margin-bottom:6px; }
 .drivetrain-reference .table-shell { overflow:visible; }
}
