/*
  GritHQ PWA -> iOS PrimaryDock parity v1
  ----------------------------------------
  Requested scope: make the shared Home / Train / Progress / Profile dock
  look and behave like the approved native-iOS presentation in the PWA.
  No page layout, workout, data, Health, Coach, or navigation semantics change.
*/
@media (max-width:959px) {
  /* One shell treatment on all four primary pages. */
  body:not(.workout-mode) #bottomNav.bottom-nav {
    grid-row:3!important;
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:auto!important;
    height:64px!important;
    min-height:64px!important;
    margin:
      7px
      max(12px,env(safe-area-inset-right))
      calc(7px + env(safe-area-inset-bottom))
      max(12px,env(safe-area-inset-left))!important;
    padding:5px!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:3px!important;
    border:1px solid rgba(91,126,160,.34)!important;
    border-radius:20px!important;
    background:linear-gradient(180deg,rgba(8,18,29,.995),rgba(4,10,17,.995))!important;
    box-shadow:
      0 12px 30px rgba(0,0,0,.38),
      inset 0 1px 0 rgba(255,255,255,.025)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    overflow:hidden!important;
    z-index:50!important;
    flex:none!important;
    align-self:end!important;
  }

  body:not(.workout-mode) #bottomNav .nav-btn {
    position:relative!important;
    min-width:0!important;
    min-height:54px!important;
    height:54px!important;
    margin:0!important;
    padding:5px 3px 4px!important;
    border:1px solid transparent!important;
    border-radius:14px!important;
    display:grid!important;
    grid-template-rows:24px 14px!important;
    place-items:center!important;
    align-content:center!important;
    gap:2px!important;
    background:transparent!important;
    color:#8293a4!important;
    box-shadow:none!important;
    opacity:1!important;
  }

  body:not(.workout-mode) #bottomNav .nav-btn svg {
    width:21px!important;
    height:21px!important;
    margin:0!important;
    stroke:currentColor!important;
    stroke-width:2!important;
    opacity:.88!important;
    filter:none!important;
  }

  body:not(.workout-mode) #bottomNav .nav-btn small {
    max-width:100%!important;
    margin:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:-.01em!important;
    color:currentColor!important;
    opacity:.92!important;
  }

  /* Keep native semantic identity restrained until a destination is selected. */
  body:not(.workout-mode) #bottomNav .nav-btn[data-view="home"] { --pwa-dock-rgb:45,148,255; --pwa-dock-color:#2d94ff; }
  body:not(.workout-mode) #bottomNav .nav-btn[data-view="routines"] { --pwa-dock-rgb:43,203,216; --pwa-dock-color:#2bcbd8; }
  body:not(.workout-mode) #bottomNav .nav-btn[data-view="history"] { --pwa-dock-rgb:119,217,68; --pwa-dock-color:#77d944; }
  body:not(.workout-mode) #bottomNav .nav-btn[data-view="profile"] { --pwa-dock-rgb:154,98,232; --pwa-dock-color:#9a62e8; }

  body:not(.workout-mode) #bottomNav .nav-btn.active {
    color:var(--pwa-dock-color)!important;
    border-color:rgba(var(--pwa-dock-rgb),.30)!important;
    background:linear-gradient(155deg,rgba(var(--pwa-dock-rgb),.15),rgba(var(--pwa-dock-rgb),.055))!important;
    box-shadow:
      inset 0 0 0 1px rgba(var(--pwa-dock-rgb),.12),
      0 5px 15px rgba(var(--pwa-dock-rgb),.07)!important;
  }

  body:not(.workout-mode) #bottomNav .nav-btn.active svg {
    opacity:1!important;
    filter:drop-shadow(0 0 6px rgba(var(--pwa-dock-rgb),.24))!important;
  }

  body:not(.workout-mode) #bottomNav .nav-btn.active small {
    opacity:1!important;
  }

  /* Remove the old Home-only dock geometry so every primary page is identical. */
  body.home-mode #bottomNav.bottom-nav,
  html.ios-standalone body.home-mode #bottomNav.bottom-nav {
    height:64px!important;
    min-height:64px!important;
    margin:
      7px
      max(12px,env(safe-area-inset-right))
      calc(7px + env(safe-area-inset-bottom))
      max(12px,env(safe-area-inset-left))!important;
    padding:5px!important;
    border-radius:20px!important;
  }

  /* The shell owns the dock row; page content never scrolls behind it. */
  body:not(.workout-mode) .app-stage {
    grid-template-rows:auto minmax(0,1fr) auto!important;
  }
  body:not(.workout-mode) .main-content {
    scroll-padding-bottom:20px!important;
  }
}

/* Very narrow phones: preserve the same iOS look without label clipping. */
@media (max-width:374px) {
  body:not(.workout-mode) #bottomNav.bottom-nav {
    margin-left:max(8px,env(safe-area-inset-left))!important;
    margin-right:max(8px,env(safe-area-inset-right))!important;
  }
  body:not(.workout-mode) #bottomNav .nav-btn small {
    font-size:9px!important;
  }
}
