/* VELORA · refined responsive navigation, 2026-10-22 */
/* Desktop: the original top navigation and checkout links remain functional. */
.header{background:rgba(16,9,15,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(216,122,157,.20)}
.header .topUpgrade{width:auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(115deg,#c53768,#9b2854);box-shadow:0 6px 22px rgba(161,40,87,.20)}
.header .topUpgrade .upgradeSpark{font-size:17px;line-height:1}
.header .topPlan{max-width:100%}
.header button:focus-visible,.mobileTopNav button:focus-visible,.mobileLogoutButton:focus-visible{outline:2px solid #ffd2e3;outline-offset:3px}
.mobileAccountExit{display:none}
@media(max-width:850px){
  /* One compact top utility bar; never cover the content with multiple rows. */
  .header{position:sticky;top:0;z-index:60;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;min-height:62px;height:auto;padding:9px 12px!important;gap:9px;box-shadow:0 8px 25px rgba(0,0,0,.20)}
  .header .logo{flex:0 0 auto;min-width:0;display:flex;align-items:center}
  .header .logoImage{display:block;width:clamp(90px,26vw,124px)!important;height:auto;max-height:42px;object-fit:contain}
  .header .headerRight{display:flex;flex:1 1 auto;width:auto!important;min-width:0;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:7px;margin-left:0}
  .header .topPlan{padding:8px 10px;min-height:35px;font-size:11px;line-height:1.1;letter-spacing:0;justify-content:center;overflow:hidden;min-width:0}
  .header .topPlanPrefix{display:none}
  .header .topPlan strong{font-size:clamp(10px,2.8vw,12px);font-weight:800;white-space:nowrap;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis}
  .header .topUpgrade{min-height:40px;min-width:0;flex:0 0 auto;padding:8px 12px!important;font-size:clamp(11px,3vw,13px)!important;line-height:1.12;white-space:nowrap;border-radius:13px!important}
  .header .topUpgrade .upgradeSpark{font-size:14px}
  .header #logoutBtn{display:none!important}
  #app .main{padding:20px 16px calc(105px + env(safe-area-inset-bottom));}
  /* Reachable thumb navigation, always at the bottom of the viewport. */
  #app .mobileTopNav{position:fixed!important;top:auto!important;bottom:0;left:0;right:0;z-index:65;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:3px;width:100%;max-width:none;margin:0!important;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border:0;border-top:1px solid #6b344f;border-radius:18px 18px 0 0;background:rgba(23,12,20,.97);box-shadow:0 -12px 35px rgba(0,0,0,.50);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
  #app .mobileTopNav button{position:relative;min-width:0;min-height:58px;padding:7px 2px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:13px;color:#d9b8c6;background:transparent;font-weight:700;line-height:1.15;font-size:clamp(10px,2.7vw,12px);transition:background .18s ease,color .18s ease,transform .18s ease;touch-action:manipulation}
  #app .mobileTopNav button .navIcon{font-size:23px;line-height:1.1;filter:saturate(.9);transform:translateZ(0)}
  #app .mobileTopNav button .navLabel{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #app .mobileTopNav button.active{background:linear-gradient(140deg,rgba(166,50,100,.52),rgba(94,30,60,.52));color:#fff;border:1px solid rgba(247,134,171,.4);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
  #app .mobileTopNav button:active{transform:scale(.96)}
  #app .mobileTopNav button.active:after{content:'';position:absolute;width:20px;height:2px;border-radius:5px;background:#ff86ae;top:3px;left:calc(50% - 10px)}
  /* The logout control belongs in the profile, away from accidental swipes. */
  .mobileAccountExit{display:flex;justify-content:flex-start;margin:24px 0 14px;padding-top:18px;border-top:1px solid #5b3447}
  .mobileLogoutButton{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid #704354;border-radius:14px;background:#261921;color:#f4d3df;font-weight:750}
  .mobileLogoutButton>span:first-child{font-size:23px;line-height:1}
  .swipeButtons button{min-width:68px;min-height:68px;touch-action:manipulation}
  .toast{bottom:calc(95px + env(safe-area-inset-bottom))}
}
@media(max-width:380px){
  .header{gap:6px;padding:8px 10px!important}
  .header .headerRight{gap:5px}
  .header .logoImage{width:clamp(80px,23vw,98px)!important}
  .header .topPlan{padding:7px 8px}
  .header .topUpgrade{padding:8px 9px!important}
}
@media(prefers-reduced-motion:reduce){#app .mobileTopNav button{transition:none!important}}

/* VELORA ICON EDITION — custom vector glyphs, not emoji. */
#app .mobileTopNav .navIcon{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;line-height:1;filter:none!important;color:#e7a0b7}
#app .mobileTopNav .navIcon svg.veloraNavSvg{display:block;width:27px;height:27px;flex-shrink:0;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;fill:none;overflow:visible;transition:color .18s ease,transform .18s ease}
#app .mobileTopNav button.active .navIcon{color:#ffd3e2}
#app .mobileTopNav button.active .navIcon svg{transform:translateY(-1px)}
#app .mobileTopNav button:active .navIcon svg{transform:scale(.92)}
@media(prefers-reduced-motion:reduce){#app .mobileTopNav .navIcon svg{transition:none!important}}
