/*
 * Floating dock - one bottom-right container that owns the stacking of every
 * corner widget (back-to-top arrow, feedback/chat trigger, AI coach "?"
 * launcher, minimised email-draft pill, softphone pill). The container is
 * fixed; assets/js/re-floating-dock.js moves each widget into it on load, so
 * the individual widgets no longer position themselves (their own position/
 * offset rules were removed). Stacking order, top to bottom:
 *   back-to-top arrow -> [chat + "?" row] -> compose pill -> softphone pill.
 *
 * The container is transparent to pointer events so it never blocks the page
 * around the buttons; each child re-enables its own clicks.
 */
.re-floating-dock {
    position: fixed;
    right: 16px;
    bottom: 16px;
    /* Below the modal/panel overlays (feedback .re-mt-modal is 9999, the coach
       panel 99999) so an open dialog always covers the corner buttons. */
    z-index: 9990;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    pointer-events: none;
}
.re-floating-dock > *,
.re-floating-dock__row {
    pointer-events: auto;
}

/* Chat + "?" launchers share one right-aligned row so they stay level. */
.re-floating-dock__row {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Neutralise each relocated widget's own fixed positioning once it is a dock
   child - the dock's flex layout is now the single source of truth. Sizing,
   colour and behaviour (fades, grow-into-card, hidden states) stay on the
   widgets themselves. */
.re-floating-dock .re-totop,
.re-floating-dock .re-fb-trigger,
.re-floating-dock .re-coach-launcher,
.re-floating-dock .re-compose-pill,
.re-floating-dock .re-softphone {
    position: static;
    right: auto;
    bottom: auto;
    left: auto;
    margin: 0;
}

@media (min-width: 640px) {
    .re-floating-dock {
        right: 24px;
        bottom: 24px;
    }
}
