/* Shared product detail geometry and nonduplicated specification table. */
#applications .product-scene figure img{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:contain;background:transparent;clip-path:none}
.key-dimensions{border-top:0;padding-top:0}
.key-dimensions-frame{border-top:1px solid #c8deeb;border-bottom:1px solid #c8deeb;padding-block:14px}

.key-dimension,.key-dimension:first-child{padding-inline:18px;text-align:center}
.key-dimension dd{justify-content:center}
.unified-spec-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;outline-offset:4px}
#specifications .unified-spec-table{width:100%;table-layout:fixed;border-collapse:collapse;margin:0}
#specifications .unified-spec-table caption{text-align:left}
#specifications .unified-spec-table th,#specifications .unified-spec-table td{width:auto;padding:16px;text-align:center;vertical-align:middle;border-bottom:1px solid #c8deeb;border-right:1px solid #c8deeb;overflow-wrap:anywhere}
#specifications .unified-spec-table tr>:last-child{border-right:0}
#specifications .unified-spec-table th{background:#e7f2f9;font-weight:600}
#specifications .unified-spec-table .additional-specifications strong{font-size:inherit;font-weight:600}
#specifications .unified-spec-table .material-performance th[scope=row]{text-align:left;background:transparent}
#specifications .unified-spec-table .selected{background:#fff0e5}
#specifications .unified-spec-table small{display:block;font-weight:400;margin-top:8px}
@media(max-width:700px){#specifications .unified-spec-table{min-width:760px}#specifications .unified-spec-table th,#specifications .unified-spec-table td{padding:12px}.key-dimension,.key-dimension:first-child{padding-inline:16px}}

/* Product features keep a readable card width and scroll as a complete card. */
.feature-carousel{margin-top:28px;min-width:0;scroll-margin-top:115px}
.feature-carousel-controls{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin:0 0 10px;height:30px}
.feature-carousel-controls[hidden]{display:none}
.feature-carousel-controls .dimension-arrow{position:static;height:30px;width:24px;box-shadow:none}
#applications .feature-carousel .product-feature-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;align-items:start;overflow-x:auto;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0;padding:0 0 2px;outline-offset:4px}
#applications .feature-carousel .product-feature-grid::-webkit-scrollbar{display:none}
#applications .feature-carousel .product-feature-grid>article{min-width:0;scroll-snap-align:start;scroll-snap-stop:normal;height:auto;display:flex;flex-direction:column}
#applications .feature-carousel .application-caption{padding:22px;flex:none}
#applications .feature-carousel h3,#applications .feature-carousel p{height:auto;min-height:0;max-height:none;overflow:visible;display:block;-webkit-line-clamp:unset;white-space:normal}
#applications .feature-carousel .application-diagram{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
#applications .feature-carousel .detail-image-zoom{flex:none}
@media(min-width:681px) and (max-width:1100px){#applications .feature-carousel .product-feature-grid{grid-auto-columns:calc((100% - 24px)/1.3)}}
@media(max-width:680px){
 #applications .feature-carousel .product-feature-grid{grid-auto-columns:calc((100% - 16px)/1.3);gap:16px}
 #applications .feature-carousel .application-diagram{height:auto;aspect-ratio:1}
 #applications .feature-carousel .application-caption{padding:16px}
 #applications .feature-carousel h3{font-size:20px!important;line-height:1.35!important;margin:0 0 12px}
 #applications .feature-carousel p{font-size:16px!important;line-height:1.6!important;margin:0}
}


/* Compact shared supply and specifications; variable data keeps its associations. */
#applications .supply-summary{padding:20px 24px;gap:24px;margin-top:24px}
#applications .supply-summary h3{margin:0 0 8px}
#applications .supply-summary p{margin:0;line-height:1.6}
#applications .supply-summary .button{white-space:nowrap}
#specifications>.page>.section-heading{display:block;margin-bottom:20px}
#specifications .material-guide{display:block;margin:0 0 20px;padding:12px 16px}
#specifications .material-controls #material-insight{margin:8px 0 0;font-size:14px}
#specifications .unified-spec-table{min-width:var(--spec-min-width,0px)}
#specifications .unified-spec-table th,#specifications .unified-spec-table td{white-space:normal;text-align:center;overflow-wrap:normal;padding:12px}
#specifications .dimension-value{display:block;white-space:normal}
#specifications .dimension-value+.dimension-value{margin-top:6px}
#specifications .unified-spec-table .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#specifications .spec-notes{margin-top:12px;font-size:14px;line-height:1.6;color:var(--ink-soft)}
#specifications .spec-notes p{font-size:inherit;line-height:inherit;margin:4px 0}
@media(max-width:680px){#applications .supply-summary{padding:18px;gap:14px}#applications .supply-summary .button{width:auto;margin-top:0}#specifications>.page>.section-heading{margin-bottom:16px}#specifications .material-guide{padding:12px;margin-bottom:16px}}

#specifications .unified-spec-table .material-performance th[scope=row]{text-align:center}

/* Shared document cards use their available text width. */
#downloads .download-card{padding:20px 16px;min-width:0;align-items:stretch}
#downloads .download-card h3,#downloads .download-card p{width:100%;max-width:none}
#downloads .download-card .text-link{align-self:flex-start}
@media(max-width:680px){#downloads .download-card{padding:16px 12px}}

/* Scene width is independent of copy length; never force text into a line clamp. */
#applications .product-scene{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
#applications .product-scene figure{width:100%;max-width:none;min-width:0;align-self:center}
#applications .product-scene .scene-uses{min-width:0}
#applications .product-scene .detail-image-zoom{width:100%}
@media(max-width:760px){#applications .product-scene{grid-template-columns:minmax(0,1fr);gap:24px}#applications .product-scene figure{max-width:none;margin-inline:auto}}

/* Fixed specification slots retain unknown values as truly empty cells. */
.key-dimension dd{min-height:1.6em}
#specifications .configuration-specifications{margin-top:24px}
#specifications .configuration-specifications h3{font-size:18px;margin:0 0 12px}
#specifications .configuration-specifications dl{margin:0;display:grid;gap:8px}
#specifications .configuration-specifications dl>div{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,3fr);gap:16px}
#specifications .configuration-specifications dt{font-weight:600}
#specifications .configuration-specifications dd{margin:0}
#specifications .configuration-specifications .dimension-value{display:block}
@media(max-width:680px){#specifications .configuration-specifications dl>div{grid-template-columns:minmax(115px,1fr) minmax(0,2fr);gap:12px}}

/* Stack the product introduction before either column becomes cramped. */
@media(max-width:1100px){
 .product-hero .product-layout{grid-template-columns:minmax(0,1fr);gap:25px}
 .product-layout>.gallery{position:static;grid-template-columns:minmax(0,1fr);width:100%;max-width:720px;margin-inline:auto;gap:10px}
 .gallery .gallery-stage{grid-column:1;grid-row:1}
 .gallery .gallery-thumbs{grid-column:1;grid-row:2;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;overflow-x:auto;min-width:0;max-width:100%;gap:10px;padding-bottom:2px}
 .gallery-thumbs button{width:54px;height:54px;flex:0 0 54px}
 .gallery .gallery-description{grid-column:1;grid-row:3}
 .product-layout>.product-copy{padding-top:0}
}

/* Use the compact contact bar before the company name can exceed the viewport. */
@media(max-width:760px){.topbar-company{display:none}}

/* Show the next item as a swipe cue; related products remain a two-card grid. */
.product-hero .related-product img{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:contain;padding:8px;box-sizing:border-box}



.key-dimension dd,.key-dimension strong{white-space:normal}
#applications .feature-carousel .product-feature-grid{grid-auto-columns:calc((100% - 48px)/3)}
@media(min-width:681px) and (max-width:1100px){
 
 

}
@media(max-width:680px){
 .product-hero .related-product img{aspect-ratio:1}
 
 
 

}

/* Shared cards: square images fill the card; no independent fixed-size thumbnails. */
#applications .feature-carousel{border-top:0;padding-top:0;margin-top:28px}
#applications .feature-carousel .product-feature-grid>article{background:#fbfdfe;border:1px solid #c8deeb}
#applications .feature-carousel .detail-image-zoom{width:100%;margin:0;background:transparent}
#applications .feature-carousel .application-caption{padding:22px}
#applications .feature-carousel h3{font-size:28px!important;line-height:1.3!important;margin:0 0 12px}
#applications .feature-carousel p{font-size:16px;line-height:1.6;margin:0}
#applications .scene-uses h3{font-size:28px;line-height:1.3}
#applications .scene-uses p{font-size:16px;line-height:1.7}
@media(min-width:761px) and (max-width:1100px){
 #applications .feature-carousel .product-feature-grid{grid-auto-columns:calc((100% - 48px)/3)}
 #applications .feature-carousel h3{font-size:20px!important}
}
@media(max-width:760px){
 #applications .feature-carousel .product-feature-grid{grid-auto-columns:calc((100% - 8px)/1.5);gap:16px}
 #applications .feature-carousel .product-feature-grid>article{background:#fbfdfe;border:1px solid #c8deeb}
 #applications .feature-carousel .detail-image-zoom{width:100%;margin:0}
 #applications .feature-carousel .application-caption{padding:16px}
 #applications .feature-carousel h3{font-size:20px!important;line-height:1.35!important}
 #applications .scene-uses h3{font-size:24px}
}

/* Compact detail spacing; card specifications use the shared home/catalog component. */
.key-dimensions{max-width:none;width:100%;margin-inline:0}
.key-dimension,.key-dimension:first-child{padding-inline:12px}
.key-dimensions-frame{padding-block:10px}
.key-dimensions-frame .key-arrow{width:20px;min-width:0;padding:0;background:transparent;border:0;box-shadow:none}


.product-hero .related-product{display:block;min-width:0}
.product-hero .related-product-photo{display:block}
.product-hero .related-product-caption{display:block;padding:12px;min-width:0}
.product-hero .related-product-caption h3{font-size:18px!important;line-height:1.35!important;margin:0 0 8px}
.product-hero .related-product-caption h3 a{text-decoration:none;color:inherit}
.product-hero .related-product-caption small{display:block;font-size:13px;margin:0 0 10px}
.product-hero .related-product .card-dimension-scroll{width:100%;margin:0;min-width:0}
.product-hero .related-product .compact-dimensions{font-size:13px;min-width:0}
.product-hero .related-product .compact-dimensions dt{font-size:13px;white-space:nowrap}
.product-hero .related-product .compact-dimensions dd{font-size:14px;white-space:nowrap}
.product-hero .related-product-details{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:14px;line-height:1.5;color:var(--ink);text-decoration:none}
#applications .fit-review{gap:32px;margin-top:24px;padding-top:16px}
#applications .fit-title{min-width:0}
#applications .fit-title h2{font-size:32px!important;line-height:1.3!important;margin:10px 0 12px}
#applications .fit-title p{margin:12px 0 16px}
#downloads .downloads{gap:16px}
#downloads .download-card{padding:12px;min-width:0}
#downloads .download-card h3{font-size:24px!important;line-height:1.3!important;margin:0 0 12px}
#downloads .download-card p{margin:0;line-height:1.6}


@media(min-width:681px) and (max-width:1100px){}
@media(max-width:1100px){#applications .fit-review{grid-template-columns:minmax(0,1fr);gap:20px}#applications .fit-title h2{max-width:none}#applications .fit-title p{max-width:none}}
@media(max-width:680px){
 
 
 .product-hero .related-product-caption{padding:8px}
 .product-hero .related-product-caption h3{font-size:16px!important}
 #applications .fit-title h2{font-size:26px!important}
 #downloads .download-card{padding:10px}
 #downloads .download-card h3{font-size:20px!important}
 
}

/* Content-sized navigation; the viewport is fitted to expose the next link. */


@media(max-width:1100px){}

/* Detail dimensions occupy the page; item widths follow their actual content. */
.key-dimensions-list{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;padding:0;margin:0}
.key-dimension,.key-dimension:first-child{flex:0 0 auto;width:max-content;min-width:100px;padding-inline:20px;text-align:center}
.key-dimension dt,.key-dimension dd,.key-dimension strong{white-space:nowrap}
.key-dimensions-list::-webkit-scrollbar{display:none}
/* Section navigation aligns with the same page edges and scrolls only if needed. */
.section-nav .page{display:flex;align-items:center;gap:0;max-width:1440px;width:min(1440px,calc(100% - 64px));padding:0;margin-inline:auto;overflow:visible}
.section-nav-links{display:flex;flex:1 1 auto;min-width:0;gap:24px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
.section-nav-links::-webkit-scrollbar{display:none}
.section-nav-links>a{flex:0 0 auto;width:max-content;white-space:nowrap;padding:14px 0;text-align:left;scroll-snap-align:start}
.section-nav .section-nav-arrow{position:static;flex:0 0 20px;width:20px;min-width:20px;padding:0;border:0;background:transparent;box-shadow:none;align-self:stretch}
.section-nav .section-nav-arrow[hidden]{display:none}
.section-nav .section-nav-arrow:disabled{opacity:.3}
@media(max-width:680px){.section-nav .page{width:calc(100% - 20px)}.section-nav-links{gap:16px}.section-nav-links>a{padding-block:12px}.key-dimension,.key-dimension:first-child{padding-inline:16px}}

/* Per-feature visibility preserves whole cards and permits one or two features. */
@media(min-width:761px){#applications .feature-carousel[data-feature-count="1"] .product-feature-grid{grid-auto-columns:100%;width:min(100%,480px);margin-inline:auto}#applications .feature-carousel[data-feature-count="2"] .product-feature-grid{grid-auto-columns:calc((100% - 24px)/2)}}
@media(max-width:760px){#applications .feature-carousel[data-feature-count="1"] .product-feature-grid{grid-auto-columns:100%;overflow:visible}}

.sprocket-specifications small{display:block;font-size:12px;font-weight:400;line-height:1.5;margin-top:6px;overflow-wrap:anywhere}.sprocket-specifications th{vertical-align:middle}.sprocket-mobile{display:none}.sprocket-specifications>h3{margin-top:28px}.sprocket-mobile section+section{margin-top:24px}.sprocket-mobile table{width:100%;border-collapse:collapse;table-layout:fixed}.sprocket-mobile :is(th,td){border:1px solid var(--line);padding:10px;overflow-wrap:anywhere}.sprocket-mobile th:first-child{width:44%}
@media(max-width:760px){.sprocket-desktop{display:none}.sprocket-mobile{display:block}}

#specifications .sprocket-specifications .sprocket-dimensions-table thead th:first-child{width:24%;white-space:normal}.sprocket-specifications .sprocket-dimensions-table th small{white-space:normal;overflow-wrap:anywhere}#specifications .sprocket-specifications .sprocket-dimensions-table thead th:nth-child(2){width:8%}

#specifications .sprocket-specifications :is(th,td){white-space:normal}#specifications .sprocket-dimensions-table{min-width:900px}#specifications .sprocket-dimensions-table.has-extra-dimensions{min-width:1500px}#specifications .sprocket-mobile th:first-child{width:auto}#specifications .sprocket-mobile thead th:first-child{width:44%}

.chain-specifications table{border-collapse:collapse;width:100%;table-layout:auto}
.chain-specifications :is(th,td){white-space:normal;overflow-wrap:normal;vertical-align:middle;padding:12px;border:1px solid var(--line)}
.chain-dimensions-table{min-width:780px}
.chain-dimensions-table :is(th,td):first-child{min-width:130px}
.chain-dimensions-table td span,.chain-specifications small,.chain-material-table td>span{display:block}
.chain-dimensions-table small{font-size:13px;color:var(--muted);margin-top:4px}
.chain-material-heading th{background:#edf6fb;text-align:left}
.chain-material-table thead th{min-width:95px;max-width:170px;white-space:normal!important}
.chain-material-table tr.selected,.chain-dimensions-table tr.selected{background:#fff4eb}
@media(max-width:760px){.chain-specifications .chain-material-table,.chain-specifications .chain-material-table tbody{display:block}.chain-specifications .chain-material-table thead{display:none}.chain-specifications .chain-material-table tr{display:grid;grid-template-columns:1fr;margin-bottom:16px}.chain-specifications .chain-material-table :is(th,td){display:grid;grid-template-columns:minmax(100px,42%) 1fr;gap:12px;text-align:left}.chain-specifications .chain-material-table :is(th,td)::before{content:attr(data-label);font-weight:600}.chain-specifications .chain-material-table td small{grid-column:2}}
