/* Floating actions — bottom inline-start stack (clears the Nagish trigger on
 * the opposite corner). Phone + Waze + back-to-top. */

.hb-floating {
    position: fixed;
    inset-block-end: clamp(16px, 4vw, 28px);
    inset-inline-start: clamp(16px, 4vw, 28px);
    z-index: var(--z-floating);
    display: flex;
    flex-direction: column;
    gap: var(--sp-3);
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
    transition: opacity var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);
}
.hb-floating.is-visible { opacity: 1; transform: translateY(0); pointer-events: auto; }
.hb-floating.is-near-footer { opacity: 0; pointer-events: none; transform: translateY(12px); }

.hb-floating__btn {
    width: 54px; height: 54px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: var(--radius-pill);
    color: var(--hb-charcoal);
    background: var(--hb-gold);
    box-shadow: var(--shadow);
    transition: transform var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);
}
.hb-floating__btn svg { width: 26px; height: 26px; }
.hb-floating__btn:hover { transform: translateY(-3px) scale(1.04); background: var(--hb-gold-light); color: var(--hb-charcoal); }

.hb-floating__phone { background: var(--hb-gold); }
.hb-floating__waze  { background: var(--hb-cream); color: var(--hb-charcoal); box-shadow: var(--shadow), inset 0 0 0 1.5px var(--hb-gold); }
.hb-floating__top   { background: var(--hb-charcoal); color: var(--hb-cream); }
.hb-floating__top:hover { background: var(--hb-ink-600); color: var(--hb-gold-light); }

@media (max-width: 560px) {
    .hb-floating__btn { width: 48px; height: 48px; }
    .hb-floating__btn svg { width: 23px; height: 23px; }
}
@media (prefers-reduced-motion: reduce) {
    .hb-floating, .hb-floating__btn { transition: none; }
}
