/* Product pages (neutral structure; works under any direction) */
.product-head { padding-block: var(--s3) var(--s5); }
.product-head .grid { align-items: start; }
.gallery { display: grid; gap: var(--s1); }
.gallery__thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s1); }
.gallery__thumbs .slot { --ratio: 1 / 1; }
.gallery__thumbs .slot__label { font-size: 0.625rem; padding: 0.25rem; }
.gallery__thumbs .slot__label strong { font-size: 0.6875rem; }
.gallery__thumbs .slot::before { width: 50%; }
.buy { display: grid; gap: var(--s2); }
.buy h1 { font-size: var(--fs-h2); max-width: none; }
.buy fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: var(--s1); }
.buy legend { font-weight: 700; margin-bottom: var(--s1); }
.variant { display: flex; justify-content: space-between; gap: var(--s2); border: 1px solid var(--rule); padding: 0.85rem 1rem; cursor: pointer; align-items: center; }
.variant:has(input:checked) { border-color: var(--fg); outline: 1px solid var(--fg); }
.variant input { accent-color: var(--fg); margin-right: 0.5rem; }
.qty { display: flex; gap: var(--s1); align-items: center; }
.qty input { width: 5rem; }
.product-nav { position: sticky; top: var(--header-h); z-index: 40; background: var(--bg); border-block: 1px solid var(--rule); overflow-x: auto; }
.product-nav ul { display: flex; gap: var(--s3); list-style: none; margin: 0; padding: 0.75rem 0; white-space: nowrap; }
.product-nav a { text-decoration: none; font-weight: 700; font-size: 0.875rem; }
.part { display: grid; gap: var(--s3); }
@media (min-width: 48rem) { .part { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--col-gap); } }
.part__num { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.led-table td:first-child { white-space: nowrap; font-weight: 700; }
.ecu-list { columns: 2 12rem; padding-left: 1.1rem; }
.feature-held { border: 1px dashed var(--rule); padding: var(--s2); }
.part > * { min-width: 0; }
