/* Footer institucional azul */
.de-footer { margin-top: 50px; background: var(--footer-bg); color: var(--footer-text); border-top: 4px solid #0b1b2c; }
.de-footer a { color: inherit; }
.de-footer a:hover { color: #fff; text-decoration: underline; }
.de-footer .de-btn--light, :root[data-theme="dark"] .de-footer .de-btn--light { color: var(--primary); background: #fff; text-decoration: none; }
.de-footer .de-btn--light:hover { color: var(--primary-hover); background: #e8eef4; }
:root[data-theme="dark"] .de-footer .de-btn--light { color: #112d4a; }
.de-footer__grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr) minmax(0, 0.8fr); gap: 44px; padding-block: 38px 30px; align-items: start; }
.de-footer__col { min-width: 0; }
.de-footer__logo { display: inline-block; margin-bottom: 12px; line-height: 0; color: #fff; }
.de-footer__logo { max-width: 100%; }
.de-footer__logo .de-logo__text { color: #fff; font-size: clamp(18px, 6vw, 28px); }
.de-footer__logo .de-logo__img { max-width: 100%; }
.de-footer__slogan { margin: 0 0 12px; font: 800 13px/1.3 var(--font-heading); text-transform: uppercase; text-align: center; }
.de-footer__text { font-size: 12px; line-height: 1.55; text-align: justify; }
.de-footer__text p { margin: 0 0 1em; }
.de-footer__title { margin: 18px 0 10px; font: 800 14px/1.2 var(--font-heading); text-transform: uppercase; letter-spacing: 0; }
.de-footer__col > .de-footer__title:first-child, .de-footer__col--portals > .de-footer__title:first-child { margin-top: 4px; }
.de-footer__contact { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 12px; }
.de-footer__contact li { display: flex; gap: 8px; align-items: center; }
.de-footer__menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 12px; }
.de-whatsapp { margin-top: 26px; }
.de-whatsapp__img { width: 100%; max-width: 260px; border-radius: 4px; margin-bottom: 10px; }
.de-whatsapp__desc { font-size: 12px; margin: 0 0 10px; }
.de-footer__bottom { background: var(--footer-bottom); border-top: 1px solid rgba(255, 255, 255, 0.18); }
.de-footer__bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-block: 14px; font-size: 12px; }
.de-footer__copy { margin: 0; }
.de-social--footer a { color: #fff; }
