.service-detail-main { width:min(1384px,calc(100% - 112px)); margin:0 auto; padding-top:30px; }
.service-detail-hero { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr); align-items:start; gap:clamp(32px,6vw,100px); padding:40px 0 56px; }
.service-detail-hero h1 { font-size:clamp(30px,3.6vw,49px); line-height:1.12; letter-spacing:-.045em; margin:0 0 24px; overflow-wrap:break-word; }
.service-detail-hero p,.catalog-detail-section p { color:var(--muted-dark); font-size:.875rem; line-height:1.75; }
.service-detail-description { color:var(--ink)!important; font-size:1rem!important; }
.service-detail-summary { border-top:3px solid var(--ink); background:var(--white); padding:24px; min-width:0; }
.service-detail-code { display:block; font-size:1.375rem; font-weight:750; letter-spacing:-.03em; }
.service-detail-summary dl { margin:14px 0 24px; }
.service-detail-summary dl>div { padding:14px 0; border-bottom:1px solid var(--line-dark); }
.service-detail-summary dt { color:var(--muted-dark); font-size:.75rem; margin-bottom:5px; }
.service-detail-summary dd { margin:0; font-size:.875rem; line-height:1.5; }
.service-detail-summary .button { display:flex; justify-content:space-between; gap:16px; min-height:48px; font-size:.875rem; }
.service-detail-summary>p { margin:16px 0 0; font-size:.75rem; }
.catalog-detail-section { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,6vw,100px); padding:40px 0; border-top:1px solid var(--line-dark); }
.supply-detail-main>.catalog-detail-section { width:var(--content); margin-inline:auto; }
.catalog-detail-section>*,.service-detail-hero>* { min-width:0; }
.catalog-detail-section h2,.catalog-detail-section p,.catalog-detail-links a,.service-equipment-list,.service-detail-summary dd { overflow-wrap:anywhere; }
.catalog-detail-section h2 { font-size:clamp(26px,3vw,38px); line-height:1.15; letter-spacing:-.04em; margin:0; max-width:460px; }
.catalog-detail-section>div>p { max-width:480px; }
.service-equipment-list,.catalog-detail-links { list-style:none; padding:0; margin:0; min-width:0; }
.service-equipment-list li { padding:14px 0; border-bottom:1px solid var(--line-dark); }
.service-equipment-list strong,.service-equipment-list span { display:block; font-size:.875rem; line-height:1.6; }
.service-equipment-list span { color:var(--muted-dark); font-size:.8125rem; margin-top:4px; }
.service-equipment-list b { color:var(--ink); font-weight:600; }
.catalog-detail-section a:hover,.service-sku-card h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.catalog-detail-section a:focus-visible,.service-sku-card h3 a:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.service-checks h3 { font-size:1rem; line-height:1.45; margin:0 0 6px; }
.service-checks>div+div { margin-top:24px; }
.service-checks p { margin:0 0 18px; }
.catalog-detail-questions details { border-bottom:1px solid var(--line-dark); padding:18px 0; }
.catalog-detail-questions summary { cursor:pointer; font-size:.875rem; font-weight:650; line-height:1.65; }
.catalog-detail-questions p { margin:12px 0 0; }
.catalog-detail-links li { border-bottom:1px solid var(--line-dark); }
.catalog-detail-links a { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 16px; min-height:64px; padding:15px 0; }
.catalog-detail-links strong { grid-column:1; font-size:.875rem; font-weight:650; }
.catalog-detail-links a>span:first-of-type { grid-column:1; color:var(--muted-dark); font-size:.8125rem; line-height:1.65; }
.catalog-detail-links a>span:last-child { grid-column:2; grid-row:1/3; align-self:center; }
@media(max-width:1000px) { .service-detail-main { width:calc(100% - 56px); } .service-detail-hero { grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr); gap:30px; } }
@media(max-width:760px) { .service-detail-main { width:calc(100% - 40px); padding-top:22px; } .service-detail-hero,.catalog-detail-section { grid-template-columns:1fr; gap:24px; padding:30px 0; } .service-detail-summary { padding:22px; } .service-detail-hero h1 { font-size:32px; } }
@media(max-width:380px) { .service-detail-main { width:calc(100% - 32px); } .service-detail-hero h1 { font-size:29px; } }
/* Supply details: responsive comparison table and direct quote actions. */
.supply-compatibility { min-width:0; }
.supply-compatibility-table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:.8125rem; line-height:1.6; }
.supply-compatibility-table caption { text-align:left; font-size:.75rem; color:var(--muted-dark); margin-bottom:14px; }
.supply-compatibility-table th,.supply-compatibility-table td { text-align:left; vertical-align:top; padding:16px 12px; border-bottom:1px solid var(--line-dark); overflow-wrap:anywhere; }
.supply-compatibility-table th:first-child { width:45%; padding-left:0; }
.supply-compatibility-table thead th { font-size:.75rem; font-weight:650; color:var(--muted-dark); padding-top:0; }
.supply-compatibility-table tbody th { font-weight:650; }
.supply-compatibility-table td { padding-right:0; }
.equipment-part-number { display:inline-block; margin-right:10px; }
.supply-part-pending { color:var(--muted-dark); }
.supply-reference-link,.supply-upgrade-help { display:inline-flex; gap:14px; align-items:center; font-size:.8125rem; font-weight:650; line-height:1.6; text-decoration:underline; text-underline-offset:4px; }
.supply-related-list { list-style:none; margin:0; padding:0; min-width:0; }
.supply-related-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px 20px; padding:20px 0; border-bottom:1px solid var(--line-dark); }
.supply-related-title { font-size:.875rem; font-weight:650; line-height:1.55; overflow-wrap:anywhere; }
.supply-related-item p { font-size:.75rem; margin:6px 0 4px; }
.supply-related-item small { display:block; color:var(--muted-dark); font-size:.75rem; line-height:1.6; }
.supply-related-actions { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.supply-related-actions .supply-add { margin:0; min-height:44px; font-size:.75rem; }
.supply-related-selected { font-size:.6875rem; line-height:1.5; color:var(--muted-dark); }
.supply-upgrade-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; min-width:0; }
.supply-upgrade-card { background:var(--white); min-width:0; transition:transform 180ms ease; }
.supply-upgrade-card>div { padding:20px; }
.supply-upgrade-photo { display:flex; align-items:center; justify-content:center; height:180px; padding:22px; background:var(--paper-2); }
.supply-upgrade-photo img { display:block; width:100%; height:100%; object-fit:contain; }
.supply-upgrade-card h3 { font-size:1rem; line-height:1.5; margin:0 0 10px; }
.supply-upgrade-card p { font-size:.8125rem; line-height:1.6; margin:0 0 10px; }
.supply-upgrade-card small { display:block; color:var(--muted-dark); font-size:.75rem; line-height:1.6; }
.supply-upgrade-link { display:flex; justify-content:space-between; gap:14px; align-items:center; padding-top:18px; min-height:44px; font-size:.8125rem; font-weight:650; }
.supply-upgrade-note { font-size:.75rem!important; padding:14px 0; border-top:1px solid var(--line-dark); }
@media(hover:hover) and (pointer:fine) { .supply-upgrade-card:hover { transform:translateY(-3px); } }
@media(max-width:1000px) and (min-width:761px) { .supply-related-item { grid-template-columns:minmax(0,1fr); } .supply-upgrade-grid { grid-template-columns:1fr; } }
@media(max-width:540px) { .supply-related-item { grid-template-columns:minmax(0,1fr); gap:12px; } .supply-related-actions { flex-direction:row; flex-wrap:wrap; align-items:center; gap:12px; } .supply-upgrade-grid { grid-template-columns:1fr; } .supply-upgrade-photo { height:190px; } .supply-compatibility-table th,.supply-compatibility-table td { padding:13px 8px; } .supply-compatibility-table th:first-child { width:46%; } }
@media(prefers-reduced-motion:reduce) { .supply-upgrade-card { transition:none; transform:none!important; } }

.supply-table-sources { margin-top:18px; font-size:.75rem; line-height:1.7; color:var(--muted-dark); }
.supply-table-sources summary { cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.supply-table-sources ul { list-style:none; padding:0; margin:12px 0 0; }
.supply-table-sources li { padding:6px 0; overflow-wrap:anywhere; }
