/* Open-die catalogue: reuse the live site's page-hero, prose, buttons and spec components.
   No root theme, global font, site navigation or production stylesheet overrides. */
.od-catalogue { color:var(--text); background:var(--bg); line-height:1.75; }
.od-catalogue [hidden] { display:none!important; }
.od-container { width:100%; max-width:1180px; margin-inline:auto; padding-inline:24px; min-width:0; box-sizing:border-box; }
.od-section>.od-container.prose { padding-block:0; }
.od-catalogue section[id] { scroll-margin-top:110px; }
.od-section { padding-block:44px; }
.od-section:first-of-type { padding-top:52px; }
.od-section + .od-section { border-top:1px solid var(--border); }
.od-section>.prose>h2 { margin-top:0; }
.od-section .od-lead,.od-section .od-note { max-width:none; }
.od-preview-notice { background:var(--bg-alt); color:var(--muted); border-bottom:1px solid var(--border); font-size:.82rem; }
.od-preview-notice>.od-container { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:8px; }
.od-lang { display:flex; gap:14px; white-space:nowrap; }
.od-lang a { text-decoration:underline; text-underline-offset:3px; }
.od-catalog-toolbar>.od-container { display:flex; justify-content:space-between; align-items:center; gap:28px; padding-block:28px; }
.od-catalog-toolbar .od-eyebrow { color:var(--primary); font-size:1.1rem; font-weight:600; margin:0; }
.od-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; }
.od-hero-actions .btn,.od-quote-panel .btn { white-space:nowrap; }
.od-hero-secondary { color:var(--primary); text-decoration:underline; text-underline-offset:5px; font-size:1.1rem; }
.od-jump { background:var(--bg-alt); border-block:1px solid var(--border); }
.od-jump>.od-container { display:flex; gap:28px; overflow-x:auto; overscroll-behavior-x:contain; justify-content:flex-start; scrollbar-width:thin; }
.od-jump a { white-space:nowrap; flex-shrink:0; padding:16px 0; font-size:1rem; font-weight:600; color:var(--primary); border-bottom:3px solid transparent; }
.od-jump a:hover { color:var(--accent-dark); border-color:var(--accent); }
.od-capacity-line.spec-strip { margin:28px 0; grid-template-columns:repeat(3,minmax(0,1fr)); }
.od-capacity-line .spec b { white-space:nowrap; }
.od-product-filters { display:flex; flex-wrap:wrap; gap:12px; margin:26px 0 16px; }
.od-product-filters button { font-family:inherit; font-size:1.1rem; font-weight:600; line-height:1.5; background:var(--bg); color:var(--primary); border:1px solid var(--border); border-radius:var(--radius-sm); padding:12px 20px; min-height:48px; cursor:pointer; box-shadow:var(--shadow-sm); transition:background .18s,color .18s,border-color .18s; }
.od-product-filters button[aria-pressed=true] { background:var(--primary); border-color:var(--primary); color:#fff; }
.od-product-filters button:hover { border-color:var(--accent); }
.prose .od-filter-status { font-size:.95rem; color:var(--muted); margin-bottom:20px; min-height:28px; }
.od-product-group { margin:28px 0 36px; padding-top:26px; border-top:1px solid var(--border); }
.od-product-group>h3 { margin-bottom:16px; }
.od-subtypes ul { display:flex; flex-wrap:wrap; gap:8px 24px; list-style:none; }
.prose .od-subtypes ul { padding:0; margin:0 0 12px; }
.prose .od-subtypes li { padding:0; margin:0; font-size:1.1rem; }
.prose .od-product-materials { color:var(--muted); font-size:1.02rem; }
.od-image-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:26px 0; }
.od-image-grid figure { margin:0; min-width:0; }
.od-photo { display:flex; align-items:center; justify-content:center; width:100%; height:250px; padding:8px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-alt); cursor:zoom-in; box-shadow:var(--shadow-sm); transition:box-shadow .22s,border-color .22s; }
.od-photo:hover { border-color:var(--primary); box-shadow:var(--shadow-md); }
.od-photo img { width:100%; height:100%; object-fit:scale-down; min-width:0; border-radius:4px; }
.od-image-grid figcaption { margin-top:8px; font-size:.95rem; color:var(--muted); }
.od-photo-wide { grid-column:span 2; }
.prose .od-material-register { padding:0; margin:28px 0; list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--border); border-radius:var(--radius-sm); overflow:hidden; box-shadow:var(--shadow-sm); }
.prose .od-material-register li { margin:0; padding:16px 18px; font-size:1.22rem; font-weight:600; line-height:1.75; color:var(--primary); border-bottom:1px solid var(--border); background:var(--bg-alt); overflow-wrap:anywhere; }
.prose .od-material-register li:nth-child(even) { background:var(--bg); }
.od-details { margin:26px 0; background:var(--bg); border:1px solid var(--border); border-radius:var(--radius-sm); box-shadow:var(--shadow-sm); overflow:hidden; }
.od-details summary { padding:18px 22px; background:var(--bg-alt); color:var(--primary); font-size:1.15rem; font-weight:600; cursor:pointer; }
.od-details[open] summary { border-bottom:1px solid var(--border); }
.od-details-body { padding:24px; min-width:0; }
.od-details-body p:last-child { margin-bottom:0; }
.od-table-wrap { max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
.prose .od-equipment-table { min-width:720px; }
.od-equipment-unit { margin:40px 0; }
.od-equipment-unit h3,.od-inspection h3 { margin-bottom:16px; }
.prose .od-equipment-list { list-style:none; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 28px; margin:20px 0; }
.prose .od-equipment-list li { margin:0; font-size:1.1rem; }
.od-inspection { margin-top:44px; }
.prose .od-test-list { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:12px; margin:20px 0; }
.prose .od-test-list li { margin:0; padding:8px 16px; border:1px solid var(--border); border-radius:var(--radius-sm); color:var(--primary); background:var(--bg-alt); font-size:1.1rem; }
.prose .od-process-track { list-style:none; counter-reset:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px 28px; }
.prose .od-process-track>li { padding:0; margin:0; counter-increment:none; display:flex; align-items:baseline; gap:12px; font-size:1.1rem; line-height:1.75; min-width:0; overflow-wrap:anywhere; }
.prose .od-process-track>li::before { content:none; }
.od-process-track span { flex-shrink:0; color:var(--accent-dark); font-size:1rem; font-weight:600; font-variant-numeric:tabular-nums; }
.od-process-group { margin:28px 0 36px; }
.od-photo-stages { display:flex; gap:30px; padding-bottom:14px; border-bottom:1px solid var(--border); }
.od-photo-stages h4 { color:var(--primary); }
.od-cert-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; margin:26px 0; }
.od-cert-item { background:var(--bg); border:1px solid var(--border); border-radius:var(--radius); padding:28px; box-shadow:var(--shadow-sm); }
.od-cert-item:first-child { grid-column:1/-1; }
.od-cert-item h3 { color:var(--primary); font-size:1.15rem; font-weight:600; margin-bottom:12px; }
.prose .od-cert-item p { margin:0; font-size:1.1rem; color:var(--muted); }
.prose .od-personnel-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 32px; margin-bottom:20px; }
.prose .od-personnel-list li { margin:0; font-size:1.1rem; }
.od-quote-panel { display:flex; align-items:center; justify-content:space-between; gap:36px; }
.od-quote-panel .od-lead { margin:0; }
.od-quote-panel .btn { flex-shrink:0; }
.od-catalogue button:active { transform:scale(.98); }
.od-lightbox { background:var(--bg); color:var(--text); border:0; border-radius:var(--radius-sm); padding:20px; max-width:94vw; max-height:94dvh; width:fit-content; box-shadow:var(--shadow-lg); }
.od-lightbox::backdrop { background:rgba(7,35,58,.85); }
.od-lightbox-top { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:14px; }
.od-lightbox-top p { margin:0; font-size:1rem; max-width:700px; }
.od-lightbox-top button { font:inherit; font-size:1rem; border:1px solid var(--border); border-radius:var(--radius-sm); padding:8px 16px; background:var(--bg-alt); color:var(--primary); white-space:nowrap; cursor:pointer; }
.od-lightbox>img { display:block; max-width:88vw; max-height:76dvh; width:auto; height:auto; object-fit:scale-down; margin:auto; }
@media(max-width:1024px){.od-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.prose .od-material-register{grid-template-columns:repeat(3,minmax(0,1fr))}.prose .od-process-track{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.od-section{padding-block:36px}.od-section:first-of-type{padding-top:40px}.od-catalog-toolbar>.od-container{flex-direction:column;align-items:flex-start;gap:18px;padding-block:22px}.od-hero-actions{gap:18px}.od-hero-actions .btn{padding:14px 24px}.od-hero-secondary{font-size:1rem}.od-preview-notice{font-size:.75rem}.od-preview-notice>.od-container{gap:10px}.od-lang{gap:8px}.od-jump>.od-container{gap:24px}.od-image-grid{grid-template-columns:minmax(0,1fr)}.od-photo-wide{grid-column:auto}.od-photo{height:260px}.od-capacity-line.spec-strip{grid-template-columns:minmax(0,1fr);gap:14px}.od-capacity-line .spec{padding:18px 20px}.od-capacity-line .spec b{font-size:1.45rem}.od-capacity-line .spec span{font-size:1rem}.od-product-filters{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;padding:4px 3px 12px}.od-product-filters button{flex-shrink:0;font-size:1rem;padding:12px 16px}.prose .od-material-register{grid-template-columns:repeat(2,minmax(0,1fr))}.prose .od-material-register li{padding:14px 12px}.prose .od-process-track{grid-template-columns:minmax(0,1fr)}.prose .od-equipment-list,.prose .od-personnel-list,.od-cert-grid{grid-template-columns:minmax(0,1fr)}.od-cert-item:first-child{grid-column:auto}.od-cert-item{padding:22px}.od-details-body{padding:18px}.od-details summary{padding:16px 18px}.od-quote-panel{flex-direction:column;align-items:flex-start;gap:24px}.od-quote-panel .btn{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.od-catalogue *,.od-catalog-toolbar *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
