.search-field{position:relative}.mobile-search-results{position:absolute;z-index:20;top:100%;left:0;right:0;background:#fff;border:1px solid rgba(20,34,55,.14);border-radius:0 0 14px 14px;box-shadow:0 14px 30px rgba(20,34,55,.14);overflow:hidden}.mobile-search-result{display:flex;align-items:center;gap:.65rem;width:100%;padding:.6rem .75rem;border:0;background:#fff;text-align:left;color:inherit}.mobile-search-result:hover,.mobile-search-result:focus{background:#f3f6fa}.mobile-search-result img{width:42px;height:42px;object-fit:contain;border-radius:8px;background:#f5f7fa}.mobile-search-empty{padding:.8rem;margin:0;color:#6b7280}.mobile-share-search{display:none}.mobile-gallery-dots{display:flex;justify-content:center;gap:.4rem;margin:.65rem 0}.mobile-gallery-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#cbd5e1}.mobile-gallery-dots button.active{background:#1473e6;transform:scale(1.25)}.mobile-lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:rgba(5,12,24,.94);padding:1rem}.mobile-lightbox img{max-width:96vw;max-height:90vh;object-fit:contain;touch-action:pinch-zoom}.mobile-lightbox button{position:absolute;right:1rem;top:1rem;border:0;background:#fff;color:#111;border-radius:50%;width:42px;height:42px;font-size:2rem;line-height:1}
@media (max-width:700px){.header-search{position:sticky;top:.5rem;z-index:30}.header-search input,.search-field input{min-height:48px;font-size:16px}.mobile-share-search{display:block;margin-top:.5rem;min-height:42px;border:1px solid rgba(20,34,55,.18);border-radius:10px;background:#fff;padding:.5rem .8rem}.modal-media{width:100%}.modal-image{display:flex;justify-content:center;overflow:hidden;touch-action:pan-y}.modal-image img{max-height:52vh;object-fit:contain;cursor:zoom-in}.modal-gallery{display:flex;gap:.5rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.55rem .1rem}.modal-gallery .gallery-thumb{flex:0 0 64px;scroll-snap-align:start}.modal-gallery .gallery-thumb img{width:56px;height:56px;object-fit:contain}.mobile-search-results{position:fixed;left:1rem;right:1rem;top:calc(var(--mobile-search-top, 4rem));max-height:52vh;overflow:auto}}
.brand-network-rail .brand-rail-inner,.network-rail .network-rail-inner{max-width:100%}.supplier-logos{display:flex;gap:1rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:.25rem .1rem 1rem;-webkit-overflow-scrolling:touch}.supplier-logo{flex:0 0 112px;min-height:76px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.35rem;scroll-snap-align:start;touch-action:manipulation}.supplier-logo img{max-width:96px;max-height:42px;object-fit:contain}.supplier-logo span{font-size:.7rem;white-space:nowrap}.supplier-logo:focus-visible{outline:3px solid #1473e6;outline-offset:3px;border-radius:10px}.modal[open]{overscroll-behavior:contain}.modal-product{min-width:0}.modal-copy,.modal-media{min-width:0}
.mobile-fullscreen-button{display:none}
@media (max-width:700px){.mobile-fullscreen-button{display:block;position:absolute;right:.7rem;bottom:.7rem;z-index:3;border:1px solid rgba(17,24,32,.18);border-radius:999px;background:rgba(255,255,255,.94);color:#111820;padding:.55rem .8rem;font-size:.72rem;font-weight:800;box-shadow:0 4px 14px rgba(0,0,0,.12)}}
.mobile-lightbox{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;border:0;padding:1rem;place-items:center;background:rgba(5,12,24,.96)}.mobile-lightbox::backdrop{background:rgba(5,12,24,.96)}.mobile-lightbox img{max-width:90vw;max-height:88vh;object-fit:contain;touch-action:pinch-zoom}.mobile-lightbox button{position:absolute;border:0;background:#fff;color:#111;border-radius:50%;width:44px;height:44px;font-size:2rem;line-height:1;z-index:2}.mobile-lightbox .lightbox-close{right:1rem;top:1rem}.mobile-lightbox .lightbox-prev{left:1rem;top:50%;transform:translateY(-50%)}.mobile-lightbox .lightbox-next{right:1rem;top:50%;transform:translateY(-50%)}.mobile-lightbox button:disabled{opacity:.3}
.modal-image{position:relative}.modal-image.is-loading::after{content:'Loading product…';position:absolute;inset:0;display:grid;place-items:center;padding-top:4rem;background:rgba(237,240,240,.72);color:#111820;font-size:.78rem;font-weight:800;letter-spacing:.04em}.modal-image.is-loading::before{content:'';position:absolute;z-index:1;top:50%;left:50%;width:30px;height:30px;margin:-15px;border:3px solid rgba(17,24,32,.2);border-top-color:#ff6f1a;border-radius:50%;animation:mobile-spin .8s linear infinite}@keyframes mobile-spin{to{transform:rotate(360deg)}}
.mobile-search-result img{width:52px;height:52px;flex:none}.mobile-search-result span{display:flex;flex-direction:column;gap:.15rem;min-width:0}.mobile-search-result strong{font-size:.82rem;line-height:1.2}.mobile-search-result small{display:block;overflow:hidden;color:#6b7280;font-size:.7rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.search-field{z-index:40}.search-field .mobile-search-results{position:absolute;top:calc(100% + .2rem);left:0;right:0}.search-field .mobile-search-result{min-height:66px}
@media (max-width:700px){.brand-network-rail{display:none}}
@media (max-width:700px){#support,#field-story{display:none!important}}
@media (max-width:700px){
  .modal-copy{min-width:0;overflow-wrap:anywhere}
  #productModal .spec-list{display:grid;grid-template-columns:1fr;gap:10px;margin:22px 0;max-height:none;overflow:visible}
  #productModal .spec-list span{display:block;min-width:0;height:auto;min-height:42px;overflow:visible;padding:11px 14px;font-size:13px;line-height:1.45;white-space:normal;text-overflow:clip;overflow-wrap:anywhere;word-break:normal}
  .modal-meta{align-items:flex-start;flex-wrap:wrap;line-height:1.45}
  .modal-meta span{min-width:0;overflow-wrap:anywhere}
}
.lightbox-hint{position:absolute;left:50%;bottom:12%;transform:translateX(-50%);padding:.65rem .9rem;border-radius:999px;background:rgba(0,0,0,.72);color:#fff;font-size:.78rem;font-weight:700;transition:opacity .35s ease;pointer-events:none;white-space:nowrap}.lightbox-hint.is-hidden{opacity:0}

/* Keep the image viewer and all of its controls together as one window. */
.mobile-lightbox{
  inset:0;
  width:min(1100px,calc(100vw - 32px));
  height:min(88vh,820px);
  max-width:none;
  max-height:none;
  margin:auto;
  padding:58px 24px 24px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 30px 100px rgba(0,0,0,.55);
}
.mobile-lightbox img{max-width:100%;max-height:calc(88vh - 98px)}
.mobile-lightbox .lightbox-close,
.mobile-lightbox>button:first-child{
  top:12px;
  right:12px;
}
@media(max-width:700px){
  .mobile-lightbox{
    width:calc(100vw - 16px);
    height:calc(100vh - 16px);
    padding:54px 12px 18px;
    border-radius:16px;
  }
  .mobile-lightbox img{max-height:calc(100vh - 88px)}
}
