/* Tooltip dei punteggi Lighthouse — sostituzione fluida fra badge.
   Condiviso da /agency e /digital (montato da agency/scores.js).
   Il contenitore resta aperto, si riposiziona dolcemente sul badge successivo
   e i suoi contenuti scorrono come una singola superficie.
   NB: il modificatore descrive il COMPORTAMENTO (--swap), non la pagina: era
   duplicato in due file identici a meno del nome (--agency / --digital). */
.ag-pop--swap {
  width: min(266px, 80vw);
  min-height: 108px;
  overflow: visible;
  transition:
    left .38s cubic-bezier(.22, 1, .36, 1),
    top .38s cubic-bezier(.22, 1, .36, 1),
    opacity .2s var(--ease),
    transform .28s cubic-bezier(.2, .75, .25, 1),
    border-radius .38s cubic-bezier(.22, 1, .36, 1),
    box-shadow .38s cubic-bezier(.22, 1, .36, 1);
}
.ag-pop--swap.is-positioning { transition: none !important; }
.ag-pop--swap.is-swapping {
  border-radius: 19px;
  box-shadow: 0 24px 58px -14px rgba(0, 0, 0, .72), 0 0 0 1px color-mix(in srgb, var(--sc, var(--cool)) 18%, transparent);
}
.ag-pop--swap .ag-pop__viewport {
  position: relative;
  min-height: 80px;
  overflow: hidden;
  transition: height .32s cubic-bezier(.22, 1, .36, 1);
}
.ag-pop--swap .ag-pop__panel {
  transition: opacity .24s var(--ease), transform .32s cubic-bezier(.22, 1, .36, 1), filter .28s var(--ease);
}
.ag-pop--swap .ag-pop__panel--incoming {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  opacity: 0;
  transform: translateY(52%);
  filter: blur(3px);
}
.ag-pop--swap.is-committing .ag-pop__viewport,
.ag-pop--swap.is-committing .ag-pop__panel { transition: none !important; }
.ag-pop--swap.is-swapping .ag-pop__panel--current {
  opacity: 0;
  transform: translateY(-46%);
  filter: blur(3px);
}
.ag-pop--swap.is-swapping .ag-pop__panel--incoming {
  opacity: 1;
  transform: none;
  filter: none;
}
.ag-pop--swap .ag-pop__head { margin-bottom: .42rem; }
.ag-pop--swap .ag-pop__body { max-width: 100%; }
@media (prefers-reduced-motion: reduce) {
  .ag-pop--swap, .ag-pop--swap .ag-pop__panel { transition-duration: .01ms; }
}
