/* =====================================================
   NEWCASTLE MOTION v11.0.6
   Entradas suaves sem alteração de fluxo ou dimensões.
   O arquivo não modifica formulários, menus, modais ou
   elementos fixos/interativos.
===================================================== */

:root {
    --nci-motion-distance: 18px;
    --nci-motion-duration: 620ms;
    --nci-motion-ease: cubic-bezier(.22, .72, .25, 1);
}

/*
 * O atributo translate é independente de transform.
 * Dessa forma, os hovers e animações já existentes nos cards
 * continuam funcionando sem conflito.
 */
html.nci-motion-enabled [data-nci-motion] {
    opacity: 0;
    translate: 0 var(--nci-motion-distance);
    transition-property: opacity, translate;
    transition-duration: var(--nci-motion-duration), calc(var(--nci-motion-duration) + 60ms);
    transition-timing-function: ease-out, var(--nci-motion-ease);
    transition-delay: var(--nci-motion-delay, 0ms);
    will-change: opacity, translate;
}

html.nci-motion-enabled [data-nci-motion="fade"] {
    translate: none;
}

html.nci-motion-enabled [data-nci-motion="left"] {
    translate: calc(var(--nci-motion-distance) * -1) 0;
}

html.nci-motion-enabled [data-nci-motion="right"] {
    translate: var(--nci-motion-distance) 0;
}

html.nci-motion-enabled [data-nci-motion="hero"] {
    translate: 0 12px;
    --nci-motion-duration: 700ms;
}

html.nci-motion-enabled [data-nci-motion].is-nci-visible {
    opacity: 1;
    translate: none;
    will-change: auto;
}

/* O conteúdo continua totalmente visível se o JS não carregar. */
html:not(.nci-motion-enabled) [data-nci-motion] {
    opacity: 1;
    translate: none;
}

/*
 * No celular, movimentos laterais são convertidos em uma entrada
 * vertical mínima. Isso evita a sensação de desalinhamento e não
 * interfere no cálculo de largura da página.
 */
@media (max-width: 767px) {
    :root {
        --nci-motion-distance: 10px;
        --nci-motion-duration: 480ms;
    }

    html.nci-motion-enabled [data-nci-motion="left"],
    html.nci-motion-enabled [data-nci-motion="right"] {
        translate: 0 8px;
    }

    /* O texto inicial apenas suaviza a opacidade no celular. */
    html.nci-motion-enabled [data-nci-motion="hero"] {
        translate: none;
    }
}

/* Acessibilidade e economia de recursos. */
@media (prefers-reduced-motion: reduce) {
    html.nci-motion-enabled [data-nci-motion] {
        opacity: 1 !important;
        translate: none !important;
        transition: none !important;
        animation: none !important;
    }
}
