/* Affiliate dashboard — bottom nav on phones (replaces the hamburger dropdown). js/aff-nav.js */
.aff-bnav { display: none; }

@media (max-width: 640px) {
  .aff-hamburger { display: none !important; }
  .aff-tabs { display: none !important; }

  /* body prefix: beats the page's own mobile .aff-main padding regardless of stylesheet order */
  body .aff-main { padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px)); }

  .aff-bnav {
    display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
    padding: 0 10px calc(10px + env(safe-area-inset-bottom, 0px)); pointer-events: none;
  }
  .aff-bnav__inner {
    pointer-events: auto; display: flex; position: relative; overflow: hidden; border-radius: 22px;
    background: linear-gradient(170deg, #14213d 0%, #0d1b34 48%, #0a1428 100%);
    box-shadow: 0 18px 40px -12px rgba(8,15,30,0.5), 0 2px 0 rgba(251,191,36,0.14) inset, 0 0 0 1px rgba(255,255,255,0.05) inset;
  }
  .aff-bnav__item {
    flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
    padding: 10px 0 9px; border: 0; background: none; cursor: pointer; position: relative; font: inherit;
    color: rgba(226,232,240,0.55); font-size: 0.625rem; font-weight: 600; letter-spacing: 0.01em;
    transition: color 0.25s ease; -webkit-tap-highlight-color: transparent;
  }
  .aff-bnav__glyph {
    width: 34px; height: 28px; border-radius: 10px; display: flex; align-items: center; justify-content: center;
    transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
  }
  .aff-bnav__glyph svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
  .aff-bnav__label { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .aff-bnav__item:active .aff-bnav__glyph { transform: scale(0.9); }
  .aff-bnav__item.active { color: #fff; }
  .aff-bnav__item.active .aff-bnav__glyph {
    color: #fbbf24; background: rgba(251,191,36,0.16);
    box-shadow: 0 0 0 1px rgba(251,191,36,0.28) inset, 0 4px 14px -4px rgba(251,191,36,0.45); transform: translateY(-1px);
  }
  .aff-bnav__item:focus-visible { outline: 2px solid #fbbf24; outline-offset: -3px; border-radius: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .aff-bnav__item, .aff-bnav__glyph { transition: none; }
}