/* Mobile navigation; width follows the canvas in the standalone review. */
.bm-mobile-dock {
  position: fixed;
  z-index: 30;
  bottom: 0;
  left: var(--dock-left, 0px);
  width: var(--dock-width, 100%);
  display: none;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  padding: 5px 6px max(8px, env(safe-area-inset-bottom, 0px));
  border: 1px solid #e8e3ef;
  border-bottom: 0;
  border-radius:var(--bm-radius-card) var(--bm-radius-card) 0 0;
  background: #fff;
  box-shadow: 0 -6px 28px #35204a0a;
  font-family: Be, Arial, sans-serif;
}
.bm-mobile-dock a {
  position: relative;
  display: grid;
  grid-template-rows: 28px auto;
  justify-items: center;
  align-content: end;
  gap: 5px;
  min-width: 0;
  min-height: 64px;
  padding: 8px 2px 7px;
  color: #625b6d;
  text-align: center;
  text-decoration: none;
  border-radius:var(--bm-radius-card);
  font-size: 11px;
  line-height: 1.4;
}
.dock-icon { position: relative; display: grid; place-items: center; width: 28px; height: 28px; }
.bm-mobile-dock svg { position: relative; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bm-mobile-dock .dock-label { white-space: nowrap; }
.bm-mobile-dock a:hover, .bm-mobile-dock a[aria-current="location"] { color: #7140c8; }
.bm-mobile-dock a[aria-current="location"] { font-weight: 600; }
.bm-mobile-dock a[aria-current="location"]::after { content: ""; position: absolute; bottom: 0; width: 16px; height: 2px; border-radius:var(--bm-radius-small); background: #7140c8; }
.bm-mobile-dock a:focus-visible { outline: 2px solid #7140c8; outline-offset: 2px; }
.bm-mobile-dock .dock-contact { color: #7140c8; font-weight: 600; }
.dock-contact .dock-icon { color: #fff; transform: translateY(-9px); }
.dock-contact .dock-icon::before { content: ""; position: absolute; inset: -12px; border-radius:var(--bm-radius-circle); background: #7140c8; box-shadow: 0 0 0 6px #fff, 0 3px 12px #7140c81c; }
.dock-contact:hover .dock-icon::before { background: #6132b4; }
.has-mobile-dock .bm-mobile-dock { display: grid; }
.has-mobile-dock .shell { padding-bottom: var(--dock-clearance, 104px); }
.has-mobile-dock .notice { bottom: calc(var(--dock-clearance, 104px) + 8px); }
html.has-mobile-dock { scroll-padding-bottom: var(--dock-clearance, 104px); }
@media (max-width: 740px) {
  .bm-mobile-dock { display: grid; }
  .shell { padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px)); }
}
