/* Rodapé compartilhado do TereBus: fundo integral e uma única grade responsiva. */
footer.site-footer{display:block;box-sizing:border-box;width:100%;max-width:none;margin:0;padding:24px 0 28px;background:#fff;color:#25284e;border-top:1px solid #e8e7ef}
.site-footer *, .site-footer *::before, .site-footer *::after{box-sizing:border-box}
.site-footer .wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.site-footer .footer-row{display:flex;align-items:center;justify-content:space-between;gap:22px}
.site-footer .footer-brand{display:flex;min-width:0;align-items:center;gap:15px}
.site-footer .footer-brand img{display:block;flex:none;width:128px;height:auto;padding:0;border-radius:0;background:transparent}
.site-footer .footer-brand p{flex:1;min-width:0;margin:0;color:#626780;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.site-footer .footer-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px 22px;margin:0;color:#34385f;font-size:13px;font-weight:700}
.site-footer .footer-links a{display:inline-flex;min-height:44px;align-items:center;white-space:nowrap}
.site-footer .footer-links a:hover{color:#7062a8}
.site-footer .copyright{margin:18px 0 0;padding:16px 0 0;border-top:1px solid #e5e3ee;color:#666b80;font-size:12px;line-height:1.65;overflow-wrap:anywhere}
/* As páginas de horários mantêm a marca centralizada e dispensam links repetidos. */
.site-footer--compact .footer-row{justify-content:center}
.site-footer--compact .footer-brand{justify-content:center;margin-inline:auto}
.site-footer--compact .footer-brand p{text-align:left}
.site-footer--compact .copyright{max-width:1040px;margin-inline:auto}
/* A consulta principal exibe apenas o aviso, sem faixa ou espaço reservado à marca. */
.site-footer--notice-only{padding:16px 0 20px;border-top:0;background:#fff}
.site-footer--notice-only .copyright{margin:0;padding:0;border:0;background:#fff}
@media(max-width:760px){
 .site-footer .wrap{width:calc(100% - 40px)}
 .site-footer .footer-row{gap:14px}
 .site-footer .footer-brand img{width:116px}
 .site-footer .footer-links{gap:4px 16px}
 .site-footer--compact .footer-brand{width:min(100%,380px)}
 .site-footer--compact .copyright{max-width:none}
}
@media(max-width:620px){
 footer.site-footer{padding:20px 0 24px}
 .site-footer .wrap{width:calc(100% - 32px)}
 .site-footer .footer-row{align-items:flex-start;flex-direction:column;gap:10px}
 .site-footer .footer-brand{width:100%;gap:13px}
 .site-footer .footer-brand img{width:108px}
 .site-footer .footer-links{width:100%;justify-content:flex-start;gap:0 14px;font-size:13px}
 .site-footer .footer-links a{min-height:44px}
 .site-footer .copyright{margin-top:12px;padding-top:14px;font-size:12px;line-height:1.6}
 .site-footer--compact .footer-row{align-items:center;flex-direction:row}
 .site-footer--compact .footer-brand{width:min(100%,380px);justify-content:center;margin-inline:auto}
 .site-footer--compact .copyright{margin-top:14px}
 .site-footer--notice-only{padding:14px 0 18px}
 .site-footer--notice-only .copyright{margin:0;padding:0}
}
@media(max-width:360px){
 .site-footer .wrap{width:calc(100% - 24px)}
 .site-footer .footer-brand{gap:10px}
 .site-footer .footer-brand img{width:100px}
 .site-footer .footer-brand p{font-size:12px}
 .site-footer .footer-links{gap:0 10px;font-size:12px}
}
/* Aviso com largura de leitura controlada e alinhamento consistente em todas as páginas. */
footer.site-footer .copyright{
 width:100%;max-width:none;margin:24px auto 0;padding:0;
 border:0;border-radius:0;background:transparent;
 color:#596177;font-size:13px;line-height:1.8;text-align:left;text-align-last:auto;
 text-wrap:pretty;hyphens:none;overflow-wrap:break-word;
}
footer.site-footer .footer-notice-title{
 display:block;margin-bottom:10px;color:#30375b;font-size:14px;
 font-weight:700;line-height:1.5;text-align:left;
}
footer.site-footer .footer-source{
 display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;
 margin-top:12px;padding-top:0;border-top:0;
 color:#626b80;font-size:12px;line-height:1.65;text-align:left;
}
footer.site-footer .footer-query-date{display:inline-block}
footer.site-footer--notice-only .copyright{margin-top:0}
@media(max-width:900px){
 footer.site-footer .copyright{padding:0;font-size:13px}
}
@media(max-width:620px){
 footer.site-footer .copyright{
  margin-top:20px;padding:0;border-radius:0;
  font-size:12px;line-height:1.85;text-align:left;text-align-last:auto;hyphens:none;
 }
 footer.site-footer .footer-notice-title{font-size:13px;margin-bottom:10px}
 footer.site-footer .footer-source{display:block;margin-top:12px;padding-top:0;font-size:11px}
 footer.site-footer .footer-query-date{display:block;margin-top:4px}
 footer.site-footer--notice-only .copyright{margin-top:0}
}
@media(max-width:360px){footer.site-footer .copyright{padding:0}}
/* A consulta acompanha a mesma largura da grade de linhas e horários. */
@media(min-width:900px){footer.site-footer--notice-only .wrap{width:min(1360px,calc(100% - 48px))}}

@media(min-width:900px) and (max-width:1120px){footer.site-footer--notice-only .wrap{width:calc(100% - 36px)}}

footer.site-footer .footer-source a{color:#394b7a;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#a9b2c8}
footer.site-footer .footer-source a:hover{color:#20235d;text-decoration-color:currentColor}
footer.site-footer .footer-source a:focus-visible{outline:2px solid #394b7a;outline-offset:3px;border-radius:2px}

/* Páginas de horários: somente o aviso, integrado ao fundo da página. */
footer.site-footer--schedule{background:transparent;border:0;box-shadow:none;padding:24px 0 28px}
footer.site-footer--schedule .copyright{margin:0;padding:0;background:transparent;border:0;box-shadow:none}
footer.site-footer--schedule:not(.site-footer--notice-only) .wrap{width:min(1360px,calc(100% - 48px))}
@media(max-width:760px){footer.site-footer--schedule:not(.site-footer--notice-only) .wrap{width:calc(100% - 24px)}}
@media(max-width:620px){footer.site-footer--schedule{padding:18px 0 24px}}
/* Destacar as fontes e a data da consulta em todas as páginas. */
footer.site-footer .footer-source { font-weight: 700; }
