#page-load-status { position:fixed; left:50%; bottom:20px; transform:translateX(-50%); z-index:3000; padding:10px 16px; background:#0D1F3D; color:#fff; border-radius:6px; font:14px/1.4 Arial,sans-serif; box-shadow:0 3px 14px #0d1f3d22; }
#page-load-status[hidden] { display:none; }
#page-load-status button { margin-left:6px; color:#0D1F3D; background:#E5A910; border:0; border-radius:3px; padding:6px 10px; cursor:pointer; }
.page-loading { cursor:progress; }
/* The shape selector lists names, without extra category headings. */
#productFamily { display:none!important; }
/* The preview belongs to the outer viewport, above the sticky header and contacts. */
body #productModal.nemrex-product-dialog {
  position:fixed!important; inset:0!important; width:100%!important; height:100dvh!important;
  min-height:0!important; max-height:none!important; padding:16px!important; margin:0!important;
  align-items:center!important; justify-content:center!important; overflow:hidden!important;
  z-index:2147483500!important; transform:none!important; background:transparent!important;
}
body #productModal.nemrex-product-dialog:not(.open) { display:none!important; }
body #productModal.nemrex-product-dialog.open { display:flex!important; }
body #productModal.nemrex-product-dialog .modal-backdrop { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; background:rgba(13,31,61,.72)!important; backdrop-filter:none!important; z-index:0!important; }
body #productModal.nemrex-product-dialog .modal-panel {
  position:relative!important; display:grid!important; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;
  width:min(860px,100%)!important; max-width:100%!important; min-height:min(460px,calc(100dvh - 32px))!important; height:auto!important;
  max-height:calc(100dvh - 32px)!important; padding:0!important; margin:0!important; gap:0!important;
  background:#fff!important; border:0!important; border-radius:14px!important; overflow:hidden!important;
  box-shadow:0 18px 60px #0004!important; z-index:1!important; transform:none!important; contain:none!important;
  font-family:Arial,Helvetica,sans-serif!important;
}
body #productModal.nemrex-product-dialog .modal-close { position:absolute!important; top:10px!important; right:10px!important; display:grid!important; place-items:center!important; width:40px!important; height:40px!important; min-height:40px!important; padding:0!important; margin:0!important; border:1px solid #dce3eb!important; border-radius:50%!important; background:#fff!important; color:#0D1F3D!important; font:28px/1 Arial,sans-serif!important; z-index:4!important; cursor:pointer; }
body #productModal.nemrex-product-dialog .modal-image-wrap { display:flex!important; align-items:center!important; justify-content:center!important; min-height:0!important; height:auto!important; max-height:none!important; padding:16px!important; background:#ffffff!important; overflow:hidden!important; }
body #productModal.nemrex-product-dialog .modal-image-wrap img { display:block!important; width:100%!important; height:100%!important; min-height:0!important; max-height:440px!important; object-fit:contain!important; object-position:center!important; }
body #productModal.nemrex-product-dialog .modal-content { display:flex!important; flex-direction:column!important; justify-content:center!important; gap:14px!important; min-height:0!important; max-height:calc(100dvh - 32px)!important; padding:42px 28px 28px!important; overflow-y:auto!important; overscroll-behavior:contain!important; color:#0D1F3D!important; }
body #productModal.nemrex-product-dialog .modal-category { color:#E5A910!important; font:700 11px/1.4 Arial,sans-serif!important; letter-spacing:.08em!important; text-transform:uppercase; padding-right:22px; }
body #productModal.nemrex-product-dialog h2 { color:#0D1F3D!important; font:700 clamp(24px,3vw,32px)/1.18 Georgia,serif!important; margin:0!important; padding:0!important; }
body #productModal.nemrex-product-dialog p { color:#545454!important; font:15px/1.6 Arial,sans-serif!important; margin:0!important; }
body #productModal.nemrex-product-dialog .modal-actions { display:flex!important; gap:10px!important; flex-wrap:wrap!important; margin:4px 0 0!important; }
body #productModal.nemrex-product-dialog .modal-actions a { display:flex!important; align-items:center!important; justify-content:center!important; flex:1 1 130px!important; min-height:44px!important; padding:12px 14px!important; border:0!important; border-radius:5px!important; text-decoration:none!important; font:700 14px/1.3 Arial,sans-serif!important; text-align:center!important; color:#fff!important; background:#0D1F3D!important; }
body #productModal.nemrex-product-dialog .modal-actions a.modal-wa { background:#E5A910!important; color:#0D1F3D!important; }
body #productModal.nemrex-product-dialog .modal-actions a.modal-wa:hover { background:#0D1F3D!important; color:#ffffff!important; }
body #productModal.nemrex-product-dialog a:focus-visible, body #productModal.nemrex-product-dialog button:focus-visible { outline:3px solid #E5A910!important; outline-offset:2px!important; }
@media(max-width:640px) {
  body #productModal.nemrex-product-dialog { padding:12px!important; }
  body #productModal.nemrex-product-dialog .modal-panel { display:flex!important; flex-direction:column!important; width:min(420px,100%)!important; min-height:0!important; max-height:calc(100dvh - 24px)!important; }
  body #productModal.nemrex-product-dialog .modal-image-wrap { flex:0 0 clamp(120px,23dvh,190px)!important; height:clamp(120px,23dvh,190px)!important; padding:8px!important; }
  body #productModal.nemrex-product-dialog .modal-image-wrap img { height:100%!important; max-height:100%!important; }
  body #productModal.nemrex-product-dialog .modal-content { flex:1 1 auto!important; max-height:none!important; padding:20px!important; gap:12px!important; }
  body #productModal.nemrex-product-dialog h2 { font-size:24px!important; }
  body #productModal.nemrex-product-dialog p { font-size:14px!important; line-height:1.55!important; }
}
/* Matching visual rhythm; section text is free to take the height it needs. */
html:root body.home-page :is(#products,#materials,#industries).carousel-section .orbit-card {
  box-sizing:border-box!important; display:flex!important; flex-direction:column!important; align-items:center!important; justify-content:flex-start!important;
  width:200px!important; flex:0 0 200px!important; height:212px!important; min-height:212px!important; max-height:212px!important;
  padding:12px!important; gap:8px!important; overflow:hidden!important;
}
html:root body.home-page :is(#products,#materials,#industries).carousel-section .orbit-card .orbit-image { box-sizing:border-box!important; flex:0 0 108px!important; width:108px!important; height:108px!important; min-height:108px!important; max-height:108px!important; margin:0!important; }
html:root body.home-page :is(#products,#materials,#industries).carousel-section .orbit-card strong { box-sizing:border-box!important; display:flex!important; align-items:center!important; justify-content:center!important; flex:0 0 42px!important; min-height:42px!important; height:42px!important; margin:0!important; font-size:14px!important; line-height:1.4!important; text-align:center!important; white-space:normal!important; }
html:root body.home-page :is(#products,#materials,#industries).carousel-section .orbit-card small { flex:0 0 18px!important; height:18px!important; margin:0!important; font-size:12px!important; line-height:1.5!important; white-space:normal!important; text-align:center!important; }
@media(max-width:600px) { html:root body.home-page :is(#products,#materials,#industries).carousel-section .orbit-card { width:168px!important; flex-basis:168px!important; } }
