/* Zone commune des éléments flottants (gérant 04/10) : « Haut de page », barre « Comparer (n) », pastille « Ma sélection ».
   Une seule colonne fixée en bas à droite : chaque élément s'empile au-dessus du précédent, rien ne se recouvre. Le décalage
   par rapport aux barres collantes du bas (navigation mobile, contact de la fiche offre) est mesuré par haut-de-page.js (--flot-bas). */
.flot { position: fixed; right: 16px; bottom: calc(var(--flot-bas, 0px) + 16px + env(safe-area-inset-bottom, 0px)); z-index: 60;
    display: flex; flex-direction: column; align-items: flex-end; gap: 12px; max-width: calc(100vw - 32px); pointer-events: none; }
.flot > *, .flot .sel-barre > * { pointer-events: auto; }
.flot .sel-barre { display: contents; }
.flot .hp-btn { order: 0; } .flot .cmp-barre { order: 1; } .flot .sel-pastille { order: 2; }
@media (min-width: 1024px) { .flot { right: 24px; } }
/* Bouton « Haut de page » (gérant 03/10) : flèche ronde, visible après défilement d'un écran. */
.hp-btn { position: relative; display: none; flex: 0 0 auto; align-items: center; justify-content: center; align-items: center; justify-content: center;
    width: 48px; height: 48px; border: 0; border-radius: 50%; background: var(--c-brand, #1d4f91); color: #fff; cursor: pointer;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .25); transition: background-color .15s ease; }
.hp-btn.hp-visible { display: inline-flex; }
.hp-btn:hover { background: var(--c-brand-dark, #163d70); }
.hp-btn:focus-visible { outline: 3px solid var(--ui-focus, #ffbf47); outline-offset: 2px; }
.hp-btn svg { width: 22px; height: 22px; }
@media (max-width: 479.98px) { .hp-btn { width: 44px; height: 44px; } }
@media (prefers-reduced-motion: reduce) { .hp-btn { transition: none; } }
@media print { .hp-btn, .flot { display: none !important; } }
