/* XMulti — rodapé responsivo 2.0, isolado do CSS remoto do tema. */
#footer.xm-footer {
    position: relative;
    background: radial-gradient(ellipse at 88% -10%, rgba(53,110,233,.14), transparent 42%),
                radial-gradient(ellipse at 8% 10%, rgba(124,66,181,.14), transparent 38%),
                #080e1b !important;
    margin-top: 48px;
    color: #eaf0ff;
    font-family: 'Montserrat', Arial, sans-serif;
    overflow: hidden;
    border-top: 1px solid rgba(152,182,243,.15);
}
#footer.xm-footer * { box-sizing: border-box; }
#footer.xm-footer p { padding: 0; text-transform: none; font-weight: 400; }
#footer.xm-footer .xm-footer__accent {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: min(1200px, 80%);
    height: 2px;
    background: linear-gradient(90deg, transparent, #5e9cff 23%, #dc65f3 56%, #73ff7f 84%, transparent);
    box-shadow: 0 0 27px rgba(128,99,255,.44);
}
#footer.xm-footer .xm-footer__inner { max-width: 1210px; width: calc(100% - 48px); margin: 0 auto; padding: 55px 0 24px; }
#footer.xm-footer .xm-footer__top { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.87fr) minmax(0,.88fr); column-gap: 56px; row-gap: 32px; align-items: start; }
#footer.xm-footer .xm-footer__brand-link { display: inline-flex; max-width: 100%; }
#footer.xm-footer .xm-footer__brand-link img { display: block; max-width: 100%; width: 208px; height: auto; }
#footer.xm-footer .xm-footer__brand > p { color: #aebad0; line-height: 1.75; font-size: 14px; margin: 13px 0 22px; max-width: 330px; }
#footer.xm-footer .xm-footer__tags { display: flex; flex-wrap: wrap; gap: 8px; }
#footer.xm-footer .xm-footer__tags span { color: #c2cbea; padding: 7px 10px; font-size: 11px; font-weight: 700; border: 1px solid rgba(123,155,221,.18); border-radius: 30px; background: rgba(33,44,78,.35); }
#footer.xm-footer .xm-footer__nav h2, #footer.xm-footer .xm-footer__action h2 { color: #fff; font-size: 15px; font-weight: 800; line-height: 1.5; margin: 2px 0 20px; }
#footer.xm-footer .xm-footer__nav-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 15px 22px; }
#footer.xm-footer .xm-footer__nav-grid a { display: inline-flex; width: fit-content; color: #b2bfd9; text-decoration: none; font-size: 13px; font-weight: 600; transition: color .18s ease, transform .18s ease; }
#footer.xm-footer .xm-footer__nav-grid a:hover, #footer.xm-footer .xm-footer__nav-grid a:focus-visible { color: #83eec1; transform: translateX(2px); }
#footer.xm-footer .xm-footer__eyebrow { display: block; letter-spacing: .12em; color: #8cf39b; font-size: 10px; font-weight: 800; margin: 3px 0 9px; }
#footer.xm-footer .xm-footer__action h2 { font-size: 20px; line-height: 1.35; margin-bottom: 10px; }
#footer.xm-footer .xm-footer__action > p { font-size: 12px; line-height: 1.8; color: #a7b4cf; margin: 0 0 20px; }
#footer.xm-footer .xm-footer__button { width: fit-content; max-width: 100%; min-height: 44px; display: inline-flex; align-items: center; gap: 22px; justify-content: space-between; color: #071327; font-size: 13px; font-weight: 800; padding: 11px 17px; border-radius: 10px; text-decoration: none; background: linear-gradient(112deg, #8af47d, #5be0ce); box-shadow: 0 7px 24px rgba(80,218,163,.15); transition: filter .18s ease, transform .18s ease; }
#footer.xm-footer .xm-footer__button:hover, #footer.xm-footer .xm-footer__button:focus-visible { filter: brightness(1.1); transform: translateY(-2px); }
#footer.xm-footer .xm-footer__button span { font-size: 20px; line-height: 1; }
#footer.xm-footer a:focus-visible { outline: 2px solid #90ffcb; outline-offset: 4px; }
#footer.xm-footer .xm-footer__notice { display: flex; align-items: flex-start; gap: 13px; padding: 20px 22px; margin: 42px 0 0; border: 1px solid rgba(123,155,221,.12); background: rgba(33,47,83,.19); border-radius: 13px; }
#footer.xm-footer .xm-footer__notice-icon { flex: 0 0 22px; width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #9dcaff; font-size: 12px; font-weight: 800; border: 1px solid #45648d; }
#footer.xm-footer .xm-footer__notice p { padding: 0; margin: 0; color: #95a4c0; font-size: 11px; font-weight: 400; line-height: 1.8; text-transform: none; }
#footer.xm-footer .xm-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid rgba(128,157,212,.12); margin-top: 25px; padding-top: 23px; }
#footer.xm-footer .xm-footer__bottom p { color: #8c9ab6; font-size: 11px; padding: 0; text-transform: none; margin: 0; }
#footer.xm-footer .xm-footer__partner { color: #8090b0; font-size: 11px; }
#footer.xm-footer .xm-footer__partner a.xmulti-footer-backlink { color: #b2c2e6; text-decoration: none; font-size: 11px; margin-left: 3px; }
#footer.xm-footer .xm-footer__partner a.xmulti-footer-backlink:hover { color: #fff; }
@media (max-width: 900px) {
    #footer.xm-footer .xm-footer__inner { width: calc(100% - 40px); padding-top: 42px; }
    #footer.xm-footer .xm-footer__top { grid-template-columns: 1fr 1fr; column-gap: 38px; }
    #footer.xm-footer .xm-footer__brand { grid-column: 1 / -1; }
    #footer.xm-footer .xm-footer__brand > p { max-width: none; }
}
@media (max-width: 580px) {
    #footer.xm-footer { margin-top: 32px; }
    #footer.xm-footer .xm-footer__inner { width: calc(100% - 34px); padding: 37px 0 22px; }
    #footer.xm-footer .xm-footer__top { grid-template-columns: minmax(0,1fr); gap: 30px; }
    #footer.xm-footer .xm-footer__brand { grid-column: auto; }
    #footer.xm-footer .xm-footer__brand-link img { width: 176px; }
    #footer.xm-footer .xm-footer__brand > p { font-size: 13px; margin-bottom: 16px; }
    #footer.xm-footer .xm-footer__tags { gap: 7px; }
    #footer.xm-footer .xm-footer__tags span { font-size: 10px; padding: 6px 10px; }
    #footer.xm-footer .xm-footer__nav h2 { margin-bottom: 14px; }
    #footer.xm-footer .xm-footer__nav-grid { gap: 13px; }
    #footer.xm-footer .xm-footer__action { padding: 20px; border-radius: 14px; border: 1px solid rgba(106,157,241,.17); background: rgba(32,49,83,.26); }
    #footer.xm-footer .xm-footer__action h2 { font-size: 19px; }
    #footer.xm-footer .xm-footer__button { width: 100%; justify-content: center; }
    #footer.xm-footer .xm-footer__notice { margin-top: 30px; padding: 15px; }
    #footer.xm-footer .xm-footer__bottom { align-items: flex-start; flex-direction: column; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    #footer.xm-footer a { transition: none !important; }
}
