/**
 * Widget Popup Button — CSS
 */

/* ==========================================
   CONTAINER
   ========================================== */
.popup-button-wrapper {
    display: inline-block;
    position: relative;
}

/* ==========================================
   ÍCONE
   ========================================== */
.popup-button-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: currentColor;
    position: relative;
    min-width: 24px;
    min-height: 24px;
    user-select: none;
    -webkit-user-select: none;
    outline: none;
    text-decoration: none;
}

.popup-button-icon:focus,
.popup-button-icon:focus-visible {
    outline: none;
}

.popup-button-icon:hover {
    opacity: 0.8;
}

.popup-button-icon:active {
    transform: scale(0.95);
}

/* SVG */
.popup-button-icon svg {
    width: 100%;
    height: 100%;
    display: block;
    fill: currentColor;
}

.popup-button-icon svg path {
    fill: currentColor;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    transform-box: fill-box;
    transform-origin: center;
}

/* ==========================================
   ÍCONE DE BIBLIOTECA
   ========================================== */
.popup-button-icon.icon-type-library i,
.popup-button-icon.icon-type-library svg {
    font-size: inherit;
    width: 1em;
    height: 1em;
    transition: none;
}

/* ==========================================
   ANIMAÇÃO: TRANSLAÇÃO (=)
   ========================================== */
.popup-button-icon.animation-translate.active svg .line-top {
    transform: translateY(250%);
}

.popup-button-icon.animation-translate.active svg .line-bottom {
    transform: translateY(-250%);
}

/* ==========================================
   ANIMAÇÃO: ROTAÇÃO (×)
   ========================================== */
.popup-button-icon.animation-rotate.active svg .line-top {
    transform: translateY(250%) rotate(45deg);
}

.popup-button-icon.animation-rotate.active svg .line-bottom {
    transform: translateY(-250%) rotate(-45deg);
}

/* ==========================================
   ACESSIBILIDADE
   ========================================== */
@media (prefers-reduced-motion: reduce) {
    .popup-button-icon svg path {
        transition: none;
    }
}