/* R20: retain the Machinery's shell, palette, embossed surfaces and drawings. */
.ui-scope .audit-categories { margin: 0; }
.ui-scope .audit-categories > summary { cursor: pointer; list-style: none; margin: 0; padding: 0 0 16px; gap: 12px; }
.ui-scope .audit-categories > summary::-webkit-details-marker { display: none; }
.ui-scope .audit-categories > summary h2 { margin: 0; }
.ui-scope .audit-categories__toggle { margin-left: auto; font-size: 12px; color: var(--ui-muted); text-decoration: underline; text-underline-offset: 4px; }
.ui-scope .audit-categories:not([open]) > summary { padding-bottom: 0; }
.ui-scope #catalog-products { scroll-margin-top: 110px; }
.ui-scope #catalog-products h2:focus-visible { outline: 2px solid var(--ui-text); outline-offset: 6px; }
.ui-scope .audit-table-hint { color: var(--ui-muted); font-size: 12px; line-height: 1.5; margin: 0 0 8px; }
.ui-scope .audit-table-hint[hidden] { display: none; }

/* Table widths are content-driven; only the table scrolls horizontally. */
.ui-scope [data-catalog] .table-scroll { max-height: none; overflow-x: auto; }
.ui-scope [data-catalog] .table-scroll table.cat.catalog-table > thead > tr > th { font-size: 12px; line-height: 1.4; letter-spacing: 0; text-transform: none; overflow-wrap: normal; word-break: normal; padding-block: 12px; }
.ui-scope [data-catalog] .table-scroll table.cat.catalog-table > tbody > tr > td { font-size: 13px; line-height: 1.5; padding-block: 12px; }
.ui-scope [data-catalog] .table-scroll table.cat.catalog-table .unit { font-size: 12px; }
.ui-scope [data-catalog] .table-scroll table.cat.catalog-table :is(.parts-price,.product-price) { font-size: 14px; }
.ui-scope [data-catalog] .table-scroll table.cat.catalog-table td.art a { font-size: 13px; }
.ui-scope [data-catalog] .table-scroll table.cat.catalog-table td.nm { min-width: 240px !important; }
.ui-scope [data-catalog] .table-scroll table.cat.catalog-table:has(>thead>tr>th:nth-child(8)) > thead > tr > th:nth-child(3) { min-width: 240px !important; }
.ui-scope [data-catalog] .table-scroll table.cat.catalog-table col.c-name { width: 240px; }
.ui-scope [data-catalog] .table-scroll table.cat.catalog-table :is(td.num,td.pr) { font-variant-numeric: tabular-nums; }
.ui-scope [data-catalog] .table-scroll table.cat.catalog-table:has(>thead>tr>th:nth-child(5):last-child) { min-width: 820px; }
.ui-scope [data-catalog] .table-scroll table.cat.catalog-table:has(>thead>tr>th:nth-child(5):last-child) th:nth-child(2) { width: 144px; }
.ui-scope [data-catalog] .table-scroll table.cat.catalog-table:has(>thead>tr>th:nth-child(5):last-child) th:nth-child(4) { width: 112px; }
.ui-scope [data-catalog] .table-scroll table.cat.catalog-table:has(>thead>tr>th:nth-child(5):last-child) th:last-child { width: 176px; }
.ui-scope [data-catalog] .table-scroll .parts-image-note { margin: 5px 0 0; font-size: 11px; line-height: 1.3; text-align: center; white-space: nowrap; }
.ui-scope [data-catalog] table .ux-photo-note { display: none !important; }
.ui-scope [data-catalog] table .ux-placeholder-badge { white-space: nowrap; font-size: 11px; width: auto; padding: 4px 5px; }
.ui-scope [data-catalog] table .ux-placeholder-frame ~ .parts-image-note { display: none; }

/* Placeholder geometry is deliberately quieter than real product photography. */
.ui-scope .ux-placeholder-badge > small { display: block; margin-top: 3px; font-size: 11px; font-weight: 400; line-height: 1.4; }
.ui-scope .ux-placeholder-frame img[data-ux-placeholder=true] { opacity: .22 !important; filter: grayscale(1); }
.ui-product-page .gal .main.ux-placeholder-frame > img { transform: scale(.76); }
.ui-product-page .product-media .gal .main.ux-placeholder-frame { background: #fafbfb; }
.ui-scope [data-catalog] .product-card .ux-placeholder-badge { max-width: calc(100% - 24px); box-shadow: none; }
.ui-scope .product-codes { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; }
.ui-scope .product-codes > span { min-width: 0; }
.ui-scope .product-internal-code { color: var(--ui-muted); font-size: 12px; }
.ui-scope .product-fitment { max-width: 70ch; margin: 12px 0 0; font-size: 14px; line-height: 1.6; color: var(--ui-muted); overflow-wrap: normal; word-break: normal; }
.ui-scope .product-heading h1 { overflow-wrap: normal; word-break: normal; hyphens: none; }

@media(min-width:900px) {
  .ui-product-page .related .sib { table-layout: fixed; width: 100%; }
  .ui-product-page .related .sib :is(th,td) { min-width: 0; width: auto; overflow-wrap: normal; word-break: normal; }
  .ui-product-page .related .sib :is(th:nth-child(1),td:nth-child(1)) { width: 9%; min-width: 0; }
  .ui-product-page .related .sib :is(th:nth-child(2),td:nth-child(2)) { width: 21%; min-width: 0; }
  .ui-product-page .related .sib :is(th:nth-child(3),td:nth-child(3)) { width: 27%; min-width: 0; }
  .ui-product-page .related .sib :is(th:last-child,td:last-child) { width: 43%; min-width: 0; }
  .ui-product-page .related .sib td.ph { font-size: 14px; line-height: 1.6; }
}
.ui-scope .legal-copy > :is(p,ul,ol,h2,h3) { max-width: 72ch; }
@media(max-width:767px) {
  .ui-scope .audit-categories > summary { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px 12px; align-items: center; }
  .ui-scope .audit-categories > summary h2 { font-size: 18px; }
  .ui-scope .audit-categories__toggle { margin: 0; grid-column: 1 / -1; }
  .ui-scope .audit-categories[open] > summary { margin-bottom: 12px; }
}
@media print { .audit-table-hint,.audit-categories__toggle { display:none; } }

.ui-product-page .related .sib thead th { font-size: 12px; line-height: 1.4; }
.ui-scope [data-catalog] .product-card:has(.ux-placeholder-badge:not([hidden])) :is(.parts-image-note,.ux-photo-note) { display: none !important; }

.ui-scope [data-catalog] td:has(.ux-placeholder-badge:not([hidden])) .parts-image-note { display: none; }
.ui-product-page .related .sib tbody td { font-size: 13px; line-height: 1.5; }
.ui-product-page .related .sib tbody td.ph { font-size: 14px; line-height: 1.6; }
.ui-scope [data-catalog] table :is(.parts-row-actions,.ac) :is(.button,.act) { font-size: 12px; min-height: 36px; }
@media(max-width:899px) { .ui-scope [data-catalog] table :is(.parts-row-actions,.ac) :is(.button,.act) { min-height: 44px; } }

.ui-scope [data-catalog][data-ux-product-images=photos] .pic.ux-placeholder-frame > img.ux-catalog-image[data-ux-placeholder=true] { opacity: .22 !important; filter: grayscale(1); }
