/* =========================
   Mobile Bottom Bar (fixed)
========================= */
.mbar{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  height: 64px;
  background: #fff;
  border-top: 1px solid rgba(0,0,0,.08);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding-bottom: env(safe-area-inset-bottom); /* iPhone safe area */
}

.mbar-item{
  text-decoration: none;
  color: #222;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-size: 12px;
}

.mbar-item i{
  font-size: 20px;
  line-height: 1;
}

/* active */
.mbar-item.active{
  color: var(--brand, #801D2F);
  font-weight: 700;
}

/* ✅ avoid content hidden behind bar */
@media (max-width: 991.98px){
  body{
    padding-bottom: 74px; /* 64px bar + spacing */
  }
}



/* =========================
   Mobile Loader (overlay)
========================= */
.m-loader{
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}

.m-loader.show{
  opacity: 1;
  pointer-events: auto;
}

.m-loader-box{
  width: min(260px, 86vw);
  background: #111;
  color: #fff;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 16px;
  padding: 18px 16px;
  text-align: center;
  box-shadow: 0 18px 45px rgba(0,0,0,.35);
}

.m-spinner{
  width: 44px;
  height: 44px;
  margin: 4px auto 10px;
  border-radius: 50%;
  border: 4px solid rgba(255,255,255,.22);
  border-top-color: #fff;
  animation: mspin .8s linear infinite;
}

.m-loader-text{
  font-size: 12px;
  letter-spacing: .06em;
  opacity: .85;
}

/* Rotation */
@keyframes mspin{
  to { transform: rotate(360deg); }
}

/* ✅ Ensure it's ONLY on mobile */
@media (min-width: 992px){
  .m-loader{ display:none !important; }
}