/* =========================================================
   Full Time Corretora · Motion (carregado depois do site.css)
   Quem ativou "reduzir movimento" no sistema vê tudo parado:
   o motion.js não liga a classe .mo e o site.css desliga as transições.
   ========================================================= */

/* ---------- 1. Fade ao rolar a página ---------- */
/* Antes do JS terminar de preparar a página, as seções já começam escondidas.
   A primeira seção (abertura) nunca fica escondida: aparece junto com a página. */
.mo .ft > section:where(:not(:first-of-type)),.mo .ft > footer{opacity:0}
.mo [data-rv="sec"]{opacity:0;transition:opacity .45s cubic-bezier(.33,1,.68,1)}
.mo [data-rv="el"]{opacity:0;transform:translate3d(0,12px,0);transition-property:opacity,transform;transition-duration:.55s;transition-timing-function:cubic-bezier(.16,1,.3,1)}
.mo [data-rv][data-rv-in]{opacity:1;transform:none}
.mo [data-rv-now]{transition:none!important}

/* Linha do tempo da home: as barras começam vazias e crescem da esquerda para a direita */
.mo [data-rv-line] .bar{transform:scaleX(0);transform-origin:0 50%;will-change:transform}

@media print{.mo .ft > section,.mo .ft > footer,.mo [data-rv]{opacity:1!important;transform:none!important}}

/* ---------- 2. Barra superior fixa ---------- */
html{scroll-padding-top:var(--bar-h,88px)}
.topbar{position:sticky;top:0;z-index:35;background:#001a35;transition:background-color .35s ease,box-shadow .35s ease}
.topbar.is-stuck{background:rgba(0,26,53,.9);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);box-shadow:0 1px 0 rgba(169,187,209,.14),0 12px 32px rgba(0,8,20,.28)}
/* Menu do celular abre por cima do conteúdo, sem empurrar a página */
.mnav{position:absolute;left:0;right:0;top:100%;max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);overflow-y:auto;box-shadow:0 24px 40px rgba(0,8,20,.45)}

/* ---------- 3. Perguntas frequentes: abre e fecha suave ---------- */
.qa-a{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .55s cubic-bezier(.22,1,.36,1),visibility 0s linear .55s}
.qa-a.is-open{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .55s cubic-bezier(.22,1,.36,1),visibility 0s}
.qa-in{overflow:hidden;min-height:0}
.qa-in p{opacity:0;transform:translateY(-6px);transition:opacity .35s ease-out,transform .45s cubic-bezier(.22,1,.36,1)}
.qa-a.is-open .qa-in p{opacity:1;transform:none;transition-delay:.08s}
.qa button span.s{transition:transform .45s cubic-bezier(.22,1,.36,1)}
.qa button[aria-expanded="true"] span.s{transform:rotate(180deg)}

/* ---------- 4. WhatsApp flutuando, bem de leve ---------- */
@keyframes ft-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.wa img{animation:ft-float 5.5s ease-in-out infinite}

/* ---------- 5. Micro-interações (passar o mouse, tocar, trocar de etapa) ---------- */
/* Cores e bordas mudam suavemente em vez de "estalar"; ao tocar, o botão afunda 2% */
.btn{transition:background-color .25s ease,color .25s ease,box-shadow .25s ease,transform .2s ease}
.btn:active{transform:scale(.98)}
.menu a.lk,.mnav a,.fgrid a,.cline a,.cat a,.svc a.go,.crumb a,.toc a{transition:color .2s ease,border-color .2s ease,background-color .2s ease}
.chips button,.seg2 button,.opts button,.segtabs button,.stepper button,.dots button,.qa button,.burger{transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease}
.qa button span.s{transition:transform .45s cubic-bezier(.22,1,.36,1),background-color .22s ease}

/* Simulador e formulários: cada etapa nova entra com um fade curto */
@keyframes ft-step{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.hgrid > .tool > *,#form > *{animation:ft-step .38s cubic-bezier(.22,1,.36,1) both}

/* Menu do celular: desce e aparece, em vez de só aparecer */
.mt{transition:opacity .26s ease,transform .32s cubic-bezier(.22,1,.36,1)}
.mt-from{opacity:0;transform:translateY(-8px)}

/* Aviso de cookies: sobe suavemente */
.ck.ck-t{transition:opacity .35s ease,transform .45s cubic-bezier(.22,1,.36,1)}
.ck.ck-from{opacity:0;transform:translateY(18px)}

@media (prefers-reduced-motion:reduce){
  .ck,.ck *{transition:none!important;animation:none!important}
}
