/* Phosphor utility helpers (tamanho + animação) — compat com os modifiers
   ph-2x/3x/4x/5x, ph-lg/sm/xs, ph-spin, ph-pulse, ph-fw, ph-flip. */

.ph-lg { font-size: 1.3333333333em; line-height: .75em; vertical-align: -0.0667em; }
.ph-xs { font-size: .75em; }
.ph-sm { font-size: .875em; }
.ph-2x { font-size: 2em; }
.ph-3x { font-size: 3em; }
.ph-4x { font-size: 4em; }
.ph-5x { font-size: 5em; }

.ph-fw { text-align: center; width: 1.25em; }

.ph-spin  { animation: ph-spin 2s infinite linear; }
.ph-pulse { animation: ph-spin 1s infinite steps(8); }

.ph-flip,
.ph-flip-horizontal { transform: scaleX(-1); }
.ph-flip-vertical   { transform: scaleY(-1); }

@keyframes ph-spin {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Stack — equivalente ao fa-stack (ícone sobreposto) */
.ph-stack {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 2em;
    height: 2em;
    line-height: 2em;
    vertical-align: middle;
}
.ph-stack > i {
    grid-area: 1 / 1;
}
.ph-stack-1x { font-size: 1em; }
.ph-stack-2x { font-size: 2em; }

/* Beat — pulsação suave (equiv. fa-beat) */
.ph-beat { animation: ph-beat 1s ease-in-out infinite; }
@keyframes ph-beat {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.15); }
}
