/* Imersão Novo Lucro · rodapé único, aviso de cookies e logo da marca (todas as páginas) */
.nl-foot { background: #12040A; color: #C39A9C; font: 400 13px/1.6 "Inter", system-ui, -apple-system, sans-serif; padding: 48px 0 28px; text-align: left; position: relative; z-index: 1; }
.nl-foot * { box-sizing: border-box; }
.nl-foot__in { max-width: 1160px; margin: 0 auto; padding: 0 24px; }
.nl-foot__top { display: flex; justify-content: space-between; gap: 28px; align-items: flex-start; flex-wrap: wrap; padding-bottom: 26px; border-bottom: 1px solid rgba(195, 154, 156, .18); }
.nl-foot__brand { max-width: 460px; }
.nl-foot__logo { display: inline-block; line-height: 0; }
.nl-foot__logo img { width: 200px; height: auto; display: block; }
.nl-foot .nl-foot__brand p { margin: 14px 0 10px; color: #D9C3C4; font-size: 13px; }
.nl-foot .nl-foot__case { display: inline-flex; align-items: center; gap: 6px; color: #E2C2C4; text-decoration: none; font-size: 12.5px; letter-spacing: .02em; padding: 6px 12px; border: 1px solid rgba(226, 194, 196, .28); border-radius: 99px; transition: background .2s, border-color .2s; }
.nl-foot .nl-foot__case b { color: #F2EAE0; font-weight: 600; }
.nl-foot__case:hover, .nl-foot__case:focus-visible { background: rgba(226, 194, 196, .08); border-color: rgba(226, 194, 196, .55); }
.nl-foot__nav { display: flex; flex-wrap: wrap; gap: 4px 20px; align-items: center; }
.nl-foot .nl-foot__nav a, .nl-foot .nl-foot__btn { color: #F2EAE0; text-decoration: none; font: 500 13.5px/1.4 "Inter", system-ui, sans-serif; background: none; border: 0; padding: 8px 0; cursor: pointer; min-height: 44px; display: inline-flex; align-items: center; }
.nl-foot__nav a:hover, .nl-foot__btn:hover, .nl-foot__nav a:focus-visible, .nl-foot__btn:focus-visible { color: #E2C2C4; text-decoration: underline; text-underline-offset: 3px; }
.nl-foot__legal { padding: 22px 0 6px; max-width: 980px; }
.nl-foot .nl-foot__legal p { margin: 0 0 10px; font-size: 12px; line-height: 1.6; color: #A88A8D; }
.nl-foot .nl-foot__legal b { color: #D9C3C4; font-weight: 600; }
.nl-foot .nl-foot__id { color: #C39A9C !important; }
.nl-foot__apx { display: flex; align-items: center; gap: 16px; padding-top: 18px; border-top: 1px solid rgba(195, 154, 156, .14); margin-top: 8px; }
.nl-foot__apx a { line-height: 0; opacity: .72; transition: opacity .2s; }
.nl-foot__apx a:hover, .nl-foot__apx a:focus-visible { opacity: 1; }
.nl-foot__apx img { height: auto; display: block; }
.nl-foot__apx a:first-child img { width: 101px; }
.nl-foot__apx a:last-child img { width: 74px; }
.nl-foot a:focus-visible, .nl-foot button:focus-visible { outline: 2px solid #E2C2C4; outline-offset: 3px; border-radius: 4px; }

/* aviso de cookies */
.nl-cookie { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 90; max-width: 720px; margin: 0 auto; display: flex; gap: 16px; align-items: center; padding: 14px 16px; border-radius: 14px; background: #F8F3EC; color: #2B1419; box-shadow: 0 18px 50px -10px rgba(28, 7, 16, .45); border: 1px solid rgba(73, 15, 27, .14); font: 400 13px/1.5 "Inter", system-ui, sans-serif; animation: nlCookieIn .45s cubic-bezier(.2, .8, .2, 1); }
.nl-cookie[hidden] { display: none; }
.nl-cookie p { margin: 0; }
.nl-cookie a { color: #7A2335; padding: 6px 2px; margin: -6px -2px; }
.nl-cookie__btns { display: flex; gap: 8px; flex: none; }
.nl-cookie button { font: 600 13px/1 "Inter", system-ui, sans-serif; padding: 11px 16px; border-radius: 10px; cursor: pointer; min-height: 40px; }
.nl-cookie__no { background: transparent; color: #490F1B; border: 1px solid rgba(73, 15, 27, .3); }
.nl-cookie__ok { background: #490F1B; color: #F8F3EC; border: 1px solid #490F1B; }
.nl-cookie button:hover { filter: brightness(1.08); }
.nl-cookie button:focus-visible { outline: 2px solid #C39A9C; outline-offset: 2px; }
@keyframes nlCookieIn { from { opacity: 0; transform: translateY(16px); } }
body.nl-has-cookie .float-cta { bottom: 112px; }

/* páginas legais */
.nl-ph { background: rgba(195, 154, 156, .25); border-radius: 4px; padding: 0 4px; }

@media (max-width: 640px) {
  .nl-foot { padding: 40px 0 120px; }
  .nl-foot__in { padding: 0 16px; }
  .nl-foot__top { flex-direction: column; gap: 18px; }
  .nl-foot__nav { gap: 0 18px; }
  .nl-foot__nav a, .nl-foot__btn { padding: 10px 0; }
  .nl-cookie { flex-direction: column; align-items: stretch; gap: 10px; left: 8px; right: 8px; bottom: 8px; padding: 12px; font-size: 12px; line-height: 1.45; }
  .nl-cookie__btns button { flex: 1; min-height: 42px; padding: 10px; }
  body.nl-has-cookie .float-cta { bottom: 168px; }
}
@media (prefers-reduced-motion: reduce) { .nl-cookie { animation: none; } }
@media print { .nl-cookie, .nl-foot__apx { display: none !important; } }
