/* Barra in alto su telefono: sottile, si nasconde scorrendo, menu completo con ☰ */
.nav-bar { transition: transform .25s ease; }
.menu-toggle, .menu-close { display: none; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px;
  color: #fff; background: rgba(197, 0, 15, .18); border: 1px solid rgba(197, 0, 15, .35); cursor: pointer; flex-shrink: 0; }
.menu-close { display: flex; }
.menu-toggle:focus-visible, .menu-close:focus-visible, .mobile-menu-links a:focus-visible { outline: 2px solid var(--yellow); outline-offset: 2px; }

@media (max-width: 767px) {
  .menu-toggle { display: flex; }
  .nav-bar .page-wrap { height: 54px; }
  .nav-bar .brand-logo { width: 34px; height: 34px; }
  .nav-bar.is-hidden { transform: translateY(-100%); }
}
@media (prefers-reduced-motion: reduce) { .nav-bar { transition: none; } }

.mobile-menu { position: fixed; inset: 0; z-index: 2000; background: rgba(5, 0, 0, .6); backdrop-filter: blur(4px); }
.mobile-menu-panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(86vw, 360px); overflow-y: auto;
  background: #0f0a0d; border-left: 1px solid rgba(197, 0, 15, .3); padding: 16px 18px calc(24px + env(safe-area-inset-bottom, 0px));
  display: flex; flex-direction: column; gap: 20px; animation: mm-in .22s ease-out; }
@keyframes mm-in { from { transform: translateX(30px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .mobile-menu-panel { animation: none; } }
.mobile-menu-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid rgba(197, 0, 15, .2); }
.mobile-menu-links { display: flex; flex-direction: column; }
.mobile-menu-links a { padding: 13px 4px; font-size: 18px; font-weight: 800; color: #e2e8f0; text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, .06); }
.mobile-menu-links a.is-active { color: var(--yellow); }
.mobile-menu-contacts { display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.mobile-menu-contacts a { color: #cbd5e1; text-decoration: none; }
