/* Rodapé interativo (ver rodape.js). */
.rodape-vivo { position: relative; z-index: 2; margin-top: 40px; font: 13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif; color: #5E6E7E; }
.rodape-linha { display: block; width: 100%; height: 48px; }
.rodape-dentro { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; max-width: 1240px; margin: 0 auto; padding: 6px 28px 26px; }
.rd-marca { display: flex; align-items: center; gap: 12px; }
.rd-marca img { height: 34px; width: auto; }
.rd-grad { font-weight: 700; letter-spacing: -.02em; background: linear-gradient(100deg, #0F2A40, #0075BD 60%, #2E9BE6); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .2em; }
.rd-links { display: flex; gap: 6px; flex-wrap: wrap; }
.rd-links a { display: inline-flex; align-items: center; gap: 7px; padding: 7px 13px; border-radius: 999px; color: #0F2A40; text-decoration: none; font-weight: 600;
              background: rgba(255,255,255,.7); border: 1px solid rgba(0,117,189,.14); transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s, border-color .25s; }
.rd-links a:hover { transform: translateY(-2px); border-color: rgba(0,117,189,.4); box-shadow: 0 8px 22px rgba(0,117,189,.14); }
.rd-links svg { width: 16px; height: 16px; color: #1F9D55; }
.rd-direita { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.rd-seguro { display: inline-flex; align-items: center; gap: 6px; }
.rd-seguro svg { width: 14px; height: 14px; color: #1F7A55; }
.rodape-painel { margin-top: 30px; }
.rodape-painel .rodape-dentro { padding: 4px 0 4px; font-size: 12.5px; }
@media (max-width: 600px) { .rodape-dentro { padding: 6px 16px 22px; flex-direction: column; align-items: flex-start; } }
.rd-atalho { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px; border: 1px solid rgba(0,117,189,.2); background: #fff;
             color: #0F2A40; font: 600 12.5px -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; cursor: pointer; transition: all .25s; }
.rd-atalho:hover { border-color: rgba(0,117,189,.45); box-shadow: 0 6px 18px rgba(0,117,189,.15); transform: translateY(-1px); }
.rd-atalho kbd { font: 700 11px -apple-system, sans-serif; color: #0075BD; }
.rd-vivo { display: inline-flex; align-items: center; gap: 7px; color: #1F7A55; font-weight: 600; }
.rd-vivo i { position: relative; width: 8px; height: 8px; border-radius: 50%; background: #2FB37A; box-shadow: 0 0 8px #2FB37A; }
.rd-vivo i::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 1.5px solid rgba(47,179,122,.6); animation: rd-onda 2s ease-out infinite; }
@keyframes rd-onda { from { transform: scale(.4); opacity: 1; } to { transform: scale(1.7); opacity: 0; } }
.rodape-painel .rd-marca img { height: 26px; }
.rodape-painel .rodape-linha { height: 40px; }
@media (prefers-reduced-motion: reduce) { .rd-vivo i::after { animation: none; } }
.rd-aviso-senha { flex-basis: 100%; margin: 4px 0 0; font-size: 12px; color: #6B7B8A; }

/* 5.9: dados do escritório no fim da página */
.rd-legal { position: relative; z-index: 1; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 6px 24px; max-width: 1240px;
  margin: 10px auto 0; padding: 12px 104px 16px 28px; border-top: 1px solid rgba(15,42,64,.08); font-size: 12px; line-height: 1.55; color: #5E6E7E; }
.rd-legal p { margin: 0; } .rd-legal a { color: inherit; }
.rodape-painel .rd-legal { padding-left: 0; padding-right: 0; font-size: 11.5px; }
@media (max-width: 480px) { .rd-legal { padding: 10px 84px 14px 16px; font-size: 11.5px; } }
