/* Emporium product-detail structure, adapted to the portal. All rules stay inside this detail/content block. */
.industrial-product-detail { min-width:0; }
.industrial-product-content { min-width:0; margin-bottom:32px; }
.industrial-product-essential { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:start; gap:clamp(24px,4vw,48px); margin-block:20px 34px; }
.industrial-product-gallery,.industrial-product-overview { min-width:0; }
.industrial-product-picture { position:relative; display:grid; place-items:center; aspect-ratio:1; width:100%; max-width:600px; margin-inline:auto; border:1px solid #e2e9ee; border-radius:4px; background:#fff; box-shadow:0 8px 24px #102f3b08; overflow:hidden; }
.industrial-product-picture img { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; object-position:center; padding:clamp(16px,3vw,32px); }
.industrial-product-picture-empty { color:#8ca1aa; }
.industrial-product-picture-empty svg { width:72px; height:72px; }
.industrial-product-thumbnails { display:flex; gap:10px; overflow-x:auto; padding:4px 2px 8px; margin-top:12px; }
.industrial-product-thumbnail { display:grid; place-items:center; flex:0 0 76px; width:76px; height:76px; padding:7px; border:1px solid #dce5eb; border-radius:4px; background:#fff; }
.industrial-product-thumbnail img { width:100%; height:100%; object-fit:contain; }
.industrial-product-thumbnail:hover,.industrial-product-thumbnail.is-current { border-color:var(--industry-action,#087b92); }
.industrial-product-thumbnail:focus-visible,.industrial-product-picture:focus-visible,.industrial-product-tabs a:focus-visible { outline:3px solid var(--industry-action,#087b92); outline-offset:3px; }
.industrial-product-heading .eyebrow { color:#647c89; margin-bottom:12px; }
.industrial-product-heading h1 { font-family:"Bebas Neue","Roboto",sans-serif; font-size:clamp(30px,3vw,42px); line-height:1.16; color:var(--industry-action,#102f3b); overflow-wrap:anywhere; margin:0 0 24px; }
.industrial-product-facts { margin:0 0 22px; padding:0; }
.industrial-product-facts > div { display:grid; grid-template-columns:minmax(90px,.7fr) minmax(0,1.5fr); gap:16px; padding:13px 0; border-bottom:1px solid #e6edf2; }
.industrial-product-facts dt { color:#657d8a; font-size:13px; }
.industrial-product-facts dd { margin:0; color:#263f4d; font-size:14px; overflow-wrap:anywhere; }
.industrial-product-facts a { color:var(--industry-action,#087b92); text-decoration:underline; text-underline-offset:3px; }
.industrial-product-categories { margin-bottom:24px; }
.industrial-product-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; align-items:stretch; }
.industrial-product-actions .button,.industrial-product-actions .supplier-save-button,.industrial-product-actions .supplier-save-login { min-height:44px; font-size:14px; border-radius:4px; }
.industrial-product-actions .supplier-save-form { margin:0; min-width:0; width:100%; }
.industrial-product-actions > .button,.industrial-product-actions .supplier-save-button { width:100%; }
.industrial-product-supplier { display:flex; align-items:center; gap:18px; padding:8px 0 18px; margin-bottom:20px; border-bottom:1px solid #e6edf2; min-width:0; }
.industrial-product-supplier-logo { display:flex; align-items:center; justify-content:center; width:168px; height:100px; flex-shrink:0; overflow:hidden; background:white; padding:4px; }
.industrial-product-supplier-logo img { display:block; width:100%; height:100%; max-width:100%; max-height:100%; min-width:0; min-height:0; object-fit:contain; }
.industrial-product-supplier-logo svg { width:40px; height:40px; color:#7898a7; }
.industrial-product-supplier-name { display:flex; flex-direction:column; gap:5px; min-width:0; }
.industrial-product-supplier-name > span { font-size:12px; color:#657d8a; }
.industrial-product-supplier-name strong { font-size:17px; color:var(--industry-action,#087b92); overflow-wrap:anywhere; }
.industrial-product-supplier-arrow { margin-left:auto; color:var(--industry-action,#087b92); font-size:22px; }
.industrial-product-supplier:hover strong { text-decoration:underline; text-underline-offset:4px; }
.industrial-product-tabs { display:flex; flex-wrap:wrap; gap:0; margin-top:12px; border-bottom:2px solid #dce5eb; background:#fff; }
.industrial-product-tabs a { display:flex; align-items:center; min-height:48px; padding:12px 22px; color:#274451; border-bottom:3px solid transparent; margin-bottom:-2px; font-size:16px; font-weight:500; text-decoration:none; }
.industrial-product-tabs a:hover,.industrial-product-tabs a:focus-visible { color:var(--industry-action,#087b92); border-bottom-color:var(--industry-action,#087b92); background:var(--industry-tint,#edf7fa); }
.industrial-product-section { padding-block:28px; border-bottom:1px solid #e2e9ee; scroll-margin-top:90px; min-width:0; }
.industrial-product-section > h2 { color:#274451; font-size:23px; line-height:1.3; margin:0 0 20px; }
.industrial-product-table { width:100%; overflow-x:auto; }
.industrial-product-specifications { width:100%; border-collapse:collapse; font-size:15px; line-height:1.6; }
.industrial-product-specifications th,.industrial-product-specifications td { border:1px solid #e2e9ee; padding:14px 18px; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.industrial-product-specifications th { width:32%; background:#f4f7f9; color:#365563; font-weight:500; }
.industrial-rich-description { display:flow-root; contain:content; isolation:isolate; width:100%; min-width:0; overflow-x:auto; color:#344b58; font-size:15px; line-height:1.75; overflow-wrap:anywhere; }
.industrial-rich-description * { box-sizing:border-box; max-width:100%!important; }
.industrial-rich-description > :first-child { margin-top:0; }
.industrial-rich-description > :last-child { margin-bottom:0; }
.industrial-rich-description p,.industrial-rich-description ul,.industrial-rich-description ol,.industrial-rich-description blockquote { margin-block:0 18px; }
.industrial-rich-description ul,.industrial-rich-description ol { padding-left:26px; }
.industrial-rich-description li { margin-bottom:7px; }
.industrial-rich-description h2,.industrial-rich-description h3,.industrial-rich-description h4,.industrial-rich-description h5,.industrial-rich-description h6 { margin-block:24px 12px; color:#274451; line-height:1.35; }
.industrial-rich-description h2 { font-size:24px; }
.industrial-rich-description h3 { font-size:20px; }
.industrial-rich-description h4 { font-size:18px; }
.industrial-rich-description h5,.industrial-rich-description h6 { font-size:16px; }
.industrial-rich-description img { display:inline-block; height:auto!important; object-fit:contain; vertical-align:middle; }
.industrial-rich-description a { color:var(--industry-action,#087b92); text-decoration:underline; text-underline-offset:3px; }
.industrial-rich-description table { width:100%; border-collapse:collapse; margin-block:18px; font-size:15px; }
.industrial-rich-description th,.industrial-rich-description td { padding:11px 14px; border:1px solid #dce5eb; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.industrial-rich-description th { background:#f4f7f9; font-weight:600; }
.industrial-rich-description caption { padding:10px 0; text-align:left; font-weight:600; }
.industrial-rich-description blockquote { padding:14px 20px; border-left:3px solid var(--industry-accent,#087b92); background:#f6f9fb; }
.industrial-rich-description pre { overflow-x:auto; white-space:pre-wrap; padding:16px; background:#f4f7f9; border-radius:4px; }
.industrial-rich-description .industrial-rich-text-center { text-align:center; }
.industrial-rich-description .industrial-rich-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr)); gap:18px; margin-block:18px; }
.industrial-rich-description .industrial-rich-card { padding:18px; border:1px solid #e2e9ee; border-radius:4px; background:#fff; margin-bottom:18px; }
.industrial-rich-description .industrial-rich-card-title,.industrial-rich-description .industrial-rich-plan-title { font-weight:600; }
.industrial-rich-description .industrial-rich-display-1 { font-size:clamp(26px,3vw,38px); line-height:1.25; }
.industrial-rich-description .industrial-rich-display-5 { font-size:22px; line-height:1.4; }
.industrial-rich-description .industrial-rich-display-7 { font-size:16px; line-height:1.7; }
.industrial-rich-description .industrial-rich-card-img img { display:block; margin-inline:auto; }
.industrial-rich-plain { white-space:pre-line; }
@media(max-width:900px) {
  .industrial-product-essential { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:24px; }
  .industrial-product-heading h1 { font-size:32px; }
  .industrial-product-facts > div { grid-template-columns:1fr; gap:5px; padding-block:11px; }
}
@media(max-width:650px) {
  .industrial-product-supplier { gap:14px; }
  .industrial-product-supplier-logo { width:132px; height:84px; padding:5px; }
  .industrial-product-essential { grid-template-columns:minmax(0,1fr); gap:24px; margin-block:18px 28px; }
  .industrial-product-picture { max-width:460px; }
  .industrial-product-heading h1 { font-size:32px; margin-bottom:18px; }
  .industrial-product-facts > div { grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr); gap:12px; }
  .industrial-product-thumbnails { gap:8px; }
  .industrial-product-thumbnail { flex-basis:64px; width:64px; height:64px; }
  .industrial-product-tabs a { flex:1 1 auto; justify-content:center; padding-inline:12px; font-size:15px; }
  .industrial-product-section { padding-block:24px; }
  .industrial-product-section > h2 { font-size:21px; }
  .industrial-rich-description { font-size:16px; line-height:1.7; }
  .industrial-rich-description th,.industrial-rich-description td,.industrial-product-specifications th,.industrial-product-specifications td { padding:10px; font-size:14px; }
}
@media print {
  .industrial-product-essential { grid-template-columns:1fr 1fr; gap:24px; }
  .industrial-product-actions,.industrial-product-tabs { display:none; }
  .industrial-rich-description { contain:none; overflow:visible; }
  .industrial-product-section { break-inside:auto; }
}

/* Catalogue rail: beside the description on desktop, beside the whole product on wide screens. */
.industrial-product-information { display:flex; flex-direction:column; gap:28px; align-items:stretch; min-width:0; }
.industrial-product-description-content { min-width:0; }
.industrial-product-catalogues { position:relative; min-width:0; padding:30px; margin-bottom:28px; background:radial-gradient(ellipse at 100% 0%,#26607160,transparent 65%),linear-gradient(145deg,#143945,var(--navy,#102f3b)); border:1px solid #264f5c; border-radius:12px; box-shadow:0 16px 38px #102f3b1a; color:#eaf7fa; overflow:hidden; scroll-margin-top:88px; }
.industrial-product-catalogues::before { content:""; position:absolute; width:210px; height:210px; right:-130px; top:40px; border:1px solid #a2d6df18; transform:rotate(45deg); pointer-events:none; }
.industrial-product-catalogues::after { content:""; position:absolute; top:26px; right:28px; width:8px; height:8px; border:1.5px solid #65dce8; transform:rotate(45deg); box-shadow:0 0 18px #41d3e544; pointer-events:none; }
.industrial-product-catalogues > * { position:relative; }
.catalogues-eyebrow { margin:0 18px 25px 0; color:#91e3ed; text-transform:uppercase; letter-spacing:.15em; font-size:10px; line-height:1.7; font-weight:700; }
.catalogues-title { display:flex; flex-direction:column; align-items:flex-start; gap:20px; margin-bottom:24px; }
.catalogues-mark { display:grid; place-items:center; width:44px; height:44px; border:1px solid #63dbe566; border-radius:50%; color:#67deea; }
.catalogues-mark svg { width:24px; height:24px; }
.catalogues-title h2 { margin:0; color:#f4fbfc; font-size:28px; font-weight:600; line-height:1.2; letter-spacing:-.025em; }
.industrial-product-catalogues .insouto-catalog-actions { margin:0; }
.industrial-product-catalogues .insouto-catalog-intro { display:none; }
.industrial-product-catalogues .insouto-catalog-action-links { display:grid; gap:15px; }
.industrial-product-catalogues .insouto-catalog-entry { display:flex; flex-direction:column; align-items:stretch; gap:20px; padding:20px; background:#ffffff07; border:1px solid #b6dce32b; border-radius:10px; }
.industrial-product-catalogues .insouto-catalog-entry-title { font-size:18px; font-weight:500; line-height:1.45; margin:0; color:#f2fbfc; overflow-wrap:anywhere; }
.industrial-product-catalogues .insouto-catalog-button { display:flex; align-items:center; justify-content:center; gap:9px; padding:13px; min-height:48px; border:1px solid #78e0e9; border-radius:7px; background:#78e0e9; color:#102f3b; font-size:14px; font-weight:700; }
.industrial-product-catalogues .insouto-catalog-button:hover { background:#a0edf2; border-color:#a0edf2; }
.industrial-product-catalogues .insouto-catalog-button:focus-visible { outline:3px solid #c7faff; outline-offset:4px; }
.industrial-product-catalogues .insouto-catalog-button svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.5; flex-shrink:0; }
.industrial-product-catalogues .insouto-catalog-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.industrial-product-catalogues .catalogue-card-grid { grid-template-columns:1fr; }
.industrial-product-catalogues .catalogue-card { border:1px solid #b6dce32b; box-shadow:none; background:#ffffff07; }
.industrial-product-catalogues .catalogue-card a { color:#f2fbfc; }
.industrial-product-catalogues .catalogue-card .card-category,.industrial-product-catalogues .catalogue-card .card-supplier { color:#b3ccd5; }
.industrial-product-catalogues .catalogue-card-symbol { color:#78e0e9; background:#ffffff0b; }
@media (min-width:1200px) {
  .industrial-product-content.has-catalogues { display:grid; grid-template-columns:minmax(0,1fr) clamp(360px,20vw,460px); column-gap:36px; align-items:start; }
  .industrial-product-content.has-catalogues > .industrial-product-essential { grid-column:1 / -1; grid-row:1; }
  .industrial-product-content.has-catalogues > .industrial-product-catalogues { grid-column:2; grid-row:2; }
  .industrial-product-content.has-catalogues > .industrial-product-information { grid-column:1; grid-row:2; }
}
@media (min-width:1800px) {
  .industrial-product-content.has-catalogues > .industrial-product-essential { grid-column:1; grid-row:1; }
  .industrial-product-content.has-catalogues > .industrial-product-catalogues { grid-column:2; grid-row:1 / span 2; position:sticky; top:86px; margin-top:20px; max-height:calc(100dvh - 112px); overflow-y:auto; scrollbar-width:thin; scrollbar-color:#689da9 #143945; }
  .industrial-product-content.has-catalogues > .industrial-product-information { grid-column:1; grid-row:2; }
}
/* In the description layout, prose can use the space beneath the catalogue.
   The independent rail from 1800px keeps its grid and sticky positioning. */
@media (min-width:1200px) and (max-width:1799px) {
  .industrial-product-content.has-catalogues:has(#about) { display:flow-root; }
  .industrial-product-content.has-catalogues:has(#about) > .industrial-product-catalogues { float:right; width:clamp(360px,20vw,460px); margin:0 0 24px 36px; }
  .industrial-product-content.has-catalogues:has(#about) > .industrial-product-information { display:block; }
  .industrial-product-content.has-catalogues:has(#about) #about .industrial-rich-description { display:block; contain:none; isolation:auto; overflow:visible; width:auto; }
  .industrial-product-content.has-catalogues:has(#about) #specifications { clear:both; }
}
@media (min-width:1440px) { .container.industrial-product-detail { max-width:none; width:calc(100% - 48px); } .industrial-product-picture { max-width:720px; } }
.industrial-image-dialog { width:min(1120px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 32px); margin:auto; padding:18px; border:1px solid #dce6eb; border-radius:14px; background:white; color:#153742; box-shadow:0 24px 80px #051b3555; }
.industrial-image-dialog::backdrop { background:#071e2cbd; backdrop-filter:blur(5px); }
.industrial-image-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:12px; }
.industrial-image-dialog-header p { margin:0; font-size:15px; font-weight:600; overflow-wrap:anywhere; }
.industrial-image-dialog button { display:grid; place-items:center; width:44px; height:44px; border:1px solid #dce6eb; border-radius:50%; background:#f4f7f8; color:#153742; flex-shrink:0; font-size:24px; }
.industrial-image-dialog button[hidden] { display:none; }
.industrial-image-dialog button:focus-visible { outline:3px solid #087b92; outline-offset:3px; }
.industrial-image-dialog-stage { display:flex; align-items:center; justify-content:center; gap:12px; }
.industrial-image-dialog-stage img { display:block; width:100%; min-width:0; max-height:calc(100dvh - 164px); object-fit:contain; }
.industrial-image-dialog-count { text-align:center; margin:12px 0 0; font-size:12px; color:#6c818c; }
body:has(.industrial-image-dialog[open]) { overflow:hidden; }
@media (max-width:650px) { .industrial-product-catalogues { padding:20px; } .industrial-image-dialog { padding:12px; } .industrial-image-dialog-stage { gap:5px; } .industrial-image-dialog-stage > button { width:32px; height:36px; font-size:20px; } .industrial-image-dialog-header p { font-size:13px; } }
@media print { .industrial-product-content.has-catalogues { display:block; } .industrial-product-content.has-catalogues > .industrial-product-catalogues { position:static; max-height:none; overflow:visible; } .industrial-image-dialog { display:none; } }

/* Give product information more room and keep the gallery compact. */
@media (min-width:768px) { .industrial-product-essential { grid-template-columns:minmax(0,9fr) minmax(0,11fr); } }

/* Related products fill rows instead of expanding three oversized cards. */
.industrial-product-detail #related-results .solution-card-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr)); gap:24px; overflow:visible; }
@media (max-width:767px) { .industrial-product-detail #related-results .solution-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } }

.industrial-model-trigger { display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; width:64px; min-height:64px; margin-top:12px; border:1px solid #cee3e9; border-radius:4px; color:#087b92; background:#eff8fa; cursor:pointer; font-size:12px; }
.industrial-model-trigger strong { font-size:20px; }
.industrial-model-dialog { width:min(1000px,90vw); max-width:calc(100vw - 32px); padding:0; border:1px solid #dce7eb; border-radius:12px; color:#173642; background:white; }
.industrial-model-dialog::backdrop { background:#071d29b8; }
.industrial-model-dialog header { display:flex; align-items:center; justify-content:space-between; padding:14px 20px; border-bottom:1px solid #e0e9ed; }
.industrial-model-dialog header p { margin:0; font-weight:600; }
.industrial-model-dialog header button { padding:8px 12px; border:0; background:transparent; font-size:24px; cursor:pointer; }
.industrial-model-dialog model-viewer { display:block; width:100%; height:min(68dvh,680px); min-height:280px; background:#f6f9fa; }
.industrial-model-help { margin:12px 20px; color:#526c79; font-size:13px; }

.industrial-model-options { display:flex; flex-wrap:wrap; gap:8px; }
.industrial-model-options .industrial-model-trigger { width:auto; min-width:64px; max-width:180px; padding:6px 10px; text-align:center; }
.industrial-model-stage { position:relative; min-height:280px; height:min(68dvh,680px); background:#f6f9fa; }
.industrial-model-stage model-viewer { height:100%; }
.industrial-model-loading { position:absolute; inset:0; display:grid; place-items:center; z-index:1; background:#f6f9fae8; color:#214653; pointer-events:none; }
.industrial-model-loading[hidden] { display:none; }
.industrial-model-loading > div { display:grid; gap:12px; width:min(280px,80%); text-align:center; }
.industrial-model-loading strong { font-size:24px; }
.industrial-model-loading progress { width:100%; height:8px; accent-color:#087b92; }
.industrial-model-retry { margin:0 20px 16px; }
.industrial-model-retry[hidden] { display:none; }
