/* ============================================================
   PULSE-BOTTOMNAV-V3  (app-only, default-hidden fix)
   Mobile bottom tab bar for the Pulse app.
   Every rule is gated on <html class="pulse-app">, set ONLY when
   the page runs inside the Pulse app (see base.html script).
   => On pulserevo.com in ANY browser (desktop OR phone) none of
      this applies, so the website is completely untouched.
   ============================================================ */

/* Hidden by default EVERYWHERE (website desktop + phone browser).
   Only the app (html.pulse-app) reveals these. This is what keeps the
   ＋ menu / artwork off the website. */
.pulse-tabbar,
.pulse-fab,
.pulse-sheet,
.pulse-sheet-backdrop { display: none !important; }

html.pulse-app .pulse-tabbar {
  display: flex !important; position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000;
  align-items: center; justify-content: space-around;
  height: calc(62px + env(safe-area-inset-bottom, 0px));
  padding: 0 6px env(safe-area-inset-bottom, 0px);
  background: #ffffff; border-top: 1px solid #ECEEF4;
  box-shadow: 0 -2px 16px -8px rgba(13,19,32,.18);
}
html.pulse-app .pulse-tab {
  flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 3px; height: 62px; color: #9AA2B1; font-size: 10.5px; font-weight: 600;
  text-decoration: none; border: none; background: none; cursor: pointer;
  -webkit-tap-highlight-color: transparent; font-family: inherit;
}
html.pulse-app .pulse-tab svg { width: 23px; height: 23px; stroke-width: 1.9; fill: none; stroke: currentColor; }
html.pulse-app .pulse-tab.active { color: #6D5EFC; }
html.pulse-app .pulse-tab:active { opacity: .6; }

html.pulse-app .pulse-tab-spacer { visibility: hidden; }
html.pulse-app .pulse-fab {
  position: fixed; bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  left: 50%; transform: translateX(-50%); z-index: 1001;
  width: 56px; height: 56px; border-radius: 19px;
  background: linear-gradient(135deg, #7C6BFF, #5B49E0);
  box-shadow: 0 10px 22px -6px rgba(124,107,255,.75);
  display: flex !important; align-items: center; justify-content: center;
  color: #fff; border: 4px solid #F4F6FB; text-decoration: none;
}
html.pulse-app .pulse-fab svg { width: 26px; height: 26px; stroke: #fff; fill: none; stroke-width: 2.4; transition: transform .22s ease; }
html.pulse-app .pulse-fab.open { transform: translateX(-50%) rotate(45deg); }

html.pulse-app .pulse-sheet-backdrop {
  display: block !important; position: fixed; inset: 0; z-index: 1002; background: rgba(13,19,32,.45);
  opacity: 0; visibility: hidden; transition: opacity .2s;
}
html.pulse-app .pulse-sheet-backdrop.open { opacity: 1; visibility: visible; }
html.pulse-app .pulse-sheet {
  display: block !important; position: fixed; left: 0; right: 0; bottom: 0; z-index: 1003;
  background: #fff; border-radius: 20px 20px 0 0;
  padding: 10px 16px calc(18px + env(safe-area-inset-bottom, 0px));
  transform: translateY(110%); transition: transform .26s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 -8px 30px rgba(13,19,32,.2);
}
html.pulse-app .pulse-sheet.open { transform: translateY(0); }
html.pulse-app .pulse-sheet-grip { width: 38px; height: 4px; border-radius: 3px; background: #E0E3EC; margin: 4px auto 12px; }
html.pulse-app .pulse-sheet-item {
  display: flex; align-items: center; gap: 13px; padding: 13px 6px;
  font-size: 15px; font-weight: 500; color: #0D1320; text-decoration: none;
  border-bottom: 1px solid #F3F4F8;
}
html.pulse-app .pulse-sheet-item:last-child { border-bottom: none; }
html.pulse-app .psi-ic { width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
html.pulse-app .psi-ic svg { width: 20px; height: 20px; }
html.pulse-app .psi-ic.lead { background: #EEEBFF; color: #5B49E0; }
html.pulse-app .psi-ic.call { background: #E6F6EE; color: #15A36B; }
html.pulse-app .psi-ic.meet { background: #E3F7F3; color: #1FB6A2; }

html.pulse-app .main, html.pulse-app .main-full { padding-bottom: 92px !important; }
html.pulse-app .mobile-menu-btn { display: none !important; }
html.pulse-app #chatbotBtn,
html.pulse-app .chatbot-fab,
html.pulse-app .chatbot-launch { bottom: calc(86px + env(safe-area-inset-bottom, 0px)) !important; }
