/* FAST Adventures 13.3 — reusable floating quick-access menu. */
.fast-quickmenu,
.fast-quickmenu * { box-sizing: border-box; }
.fast-quickmenu {
  --fq-violet: #6536af;
  --fq-shadow: 0 14px 34px rgba(46, 27, 89, .28);
  position: fixed;
  z-index: 10100;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  display: flex;
  flex-direction: column;
  align-items: end;
  gap: 10px;
  width: max-content;
  max-width: min(310px, calc(100vw - 24px));
  font-family: 'Trebuchet MS', 'Segoe UI', Verdana, sans-serif;
  line-height: 1.4;
  isolation: isolate;
}
.fast-quickmenu [hidden] { display: none !important; }
.fast-quickmenu__toggle {
  display: grid;
  place-items: center;
  padding: 0;
  margin: 0;
  width: 47px;
  height: 47px;
  min-width: 47px;
  min-height: 47px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: linear-gradient(155deg, #9666e8, #6837c5 74%);
  color: #ffffff;
  font-family: inherit;
  font-size: 25px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 4px 0 #49238a, 0 9px 22px rgba(45, 23, 91, .3);
  transition: transform .15s ease, box-shadow .15s ease;
  -webkit-tap-highlight-color: transparent;
}
.fast-quickmenu__toggle:hover { transform: translateY(-2px); box-shadow: 0 5px 0 #49238a, 0 12px 24px rgba(45, 23, 91, .32); }
.fast-quickmenu__toggle[aria-expanded="true"] { background: linear-gradient(150deg, #764ac9, #4d239a); }
.fast-quickmenu__toggle:focus-visible,
.fast-quickmenu__link:focus-visible { outline: 3px solid #f7b624; outline-offset: 3px; }
.fast-quickmenu__panel {
  width: 215px;
  max-width: calc(100vw - 30px);
  padding: 10px;
  border: 2px solid #e4d4ff;
  border-radius: 17px;
  background: #fffefa;
  box-shadow: var(--fq-shadow);
  color: #463366;
  text-align: left;
}
.fast-quickmenu__heading {
  display: block;
  margin: 1px 6px 8px;
  color: #7c659b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.fast-quickmenu__items { display: grid; gap: 5px; }
.fast-quickmenu__link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 10px;
  min-height: 44px;
  border-radius: 11px;
  color: #4a238c !important;
  background: #f4edff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none !important;
  white-space: nowrap;
}
.fast-quickmenu__link:hover { background: #e8d9ff; }
.fast-quickmenu__link-icon { font-size: 19px; line-height: 1; }
@media (max-width: 640px) {
  .fast-quickmenu {
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
  }
  .fast-quickmenu__toggle { width: 44px; height: 44px; min-width: 44px; min-height: 44px; font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .fast-quickmenu__toggle { transition: none; }
}
