/* Shared right-hand contact tabs, visible on every page. */
.floating-actions {
  position: fixed; top: 50%; right: 0; z-index: 900;
  display: flex; flex-direction: column; align-items: flex-end; gap: 10px;
  margin: 0; padding: 0; transform: translateY(-50%);
}
.floating-actions .floating-contact, .floating-actions .floating-assessment {
  position: relative; display: flex; align-items: center; justify-content: center; gap: 3px;
  width: max-content; min-width: 0;
  min-height: 44px; padding: 10px 4px; border: 0; border-radius: 8px 0 0 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,.2); text-decoration: none;
  font: 800 12px/1.5 Arial, Helvetica, sans-serif;
  transition: background .15s ease;
}
.floating-actions .floating-contact { color: var(--palette-primary, #081b33); background: var(--palette-accent, #ff9720); }
.floating-actions .floating-assessment { color: #fff; background: var(--palette-primary, #081b33); }
.floating-actions .floating-contact:hover { color: var(--palette-primary, #081b33); }
.floating-actions .floating-assessment:hover { color: #fff; background: var(--palette-dark, #040f21); }
.floating-actions svg { display: block; flex: 0 0 13px; width: 13px; height: 13px; }
.floating-actions .floating-assessment svg { color: var(--palette-accent, #ff9720); }
.floating-actions span { writing-mode: vertical-rl; text-orientation: mixed; transform: rotate(180deg); letter-spacing: .5px; text-transform: uppercase; }
.floating-actions a:focus-visible { outline: 3px solid var(--palette-accent, #ff9720); outline-offset: -3px; }
.floating-actions .floating-contact:focus-visible { outline-color: var(--palette-primary, #081b33); }
@media (max-width: 560px) {
  .floating-actions .floating-contact, .floating-actions .floating-assessment { padding: 7px 3px; gap: 2px; font-size: 10px; }
  /* Preserve an easy touch target without widening the visible tab. */
  .floating-actions a::before { content: ""; position: absolute; top: 0; bottom: 0; right: 0; width: max(100%,44px); }
  .floating-actions svg { flex-basis: 11px; width: 11px; height: 11px; }
}
/* Keep the tabs above Live Talk on short and landscape screens. */
@media (max-height: 620px) {
  .floating-actions { top: auto; bottom: calc(140px + env(safe-area-inset-bottom,0px)); gap: 6px; transform: none; }
  .floating-actions .floating-contact, .floating-actions .floating-assessment { padding: 8px 6px; gap: 8px; font-size: 11px; }
  .floating-actions span { max-width: 160px; writing-mode: horizontal-tb; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .floating-actions a { transition: none; }
}
