/* Neutron Energies & Services — custom.css
   Anything Tailwind's utility set genuinely can't express lives here.
   Keep this file small; reach for Tailwind classes first. */

/* Signal bar — the current trace sweeping across the top edge */
@keyframes signal-sweep {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(300%); }
}
.animate-signal {
  animation: signal-sweep 3.4s ease-in-out infinite;
}

/* Respect reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
  .animate-signal {
    animation: none;
  }
}

/* Visible keyboard focus ring, on-brand */
a:focus-visible,
button:focus-visible {
  outline: 2px solid #1479FF;
  outline-offset: 2px;
  border-radius: 4px;
}

/* Mobile menu bar transform when open (class toggled via main.js) */
#menu-toggle.is-open .menu-bar:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}
#menu-toggle.is-open .menu-bar:nth-child(2) {
  opacity: 0;
}
#menu-toggle.is-open .menu-bar:nth-child(3) {
  width: 24px;
  transform: translateY(-6.5px) rotate(-45deg);
}
/* Premium catalogue refinements */
.catalogue-card img{background:#f4f7fb}


/* Mobile navigation: stable stacking, native accordion affordance, and focus. */
#mobile-menu-wrapper[aria-hidden="true"] { visibility: hidden; }
#mobile-menu-wrapper[aria-hidden="false"] { visibility: visible; }
#mobile-menu summary { -webkit-tap-highlight-color: transparent; }
#mobile-menu summary:focus-visible {
  outline: 2px solid #1479FF;
  outline-offset: 3px;
  border-radius: 8px;
}
#mobile-menu details[open] > summary { color: #1479FF; }
#mobile-menu details > summary span { flex-shrink: 0; }
@media (prefers-reduced-motion: reduce) {
  #mobile-menu-wrapper, #mobile-menu-backdrop { transition-duration: 0.01ms !important; }
}

/* Keep the mobile navigation crisp: the backdrop must not blur the header/menu. */
#mobile-menu-backdrop { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
#mobile-menu-wrapper { position: relative; z-index: 101; }


/* ---- Mobile menu: never blur anything while it is open ---- */
#mobile-menu-backdrop {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  filter: none !important;
}
#nav-shell, #mobile-menu-wrapper { position: relative; z-index: 101; }
body.mobile-menu-open #nav-shell {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  background-color: #fff !important;
}
#mobile-menu {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  filter: none !important;
  background-color: #fff;
}
