/* GestorUp | Rodapé unificado v3
   Corrige textos de contatos comprimidos e organiza regiões.
   Regras restritas ao footer para não afetar a busca, o menu nem as páginas. */
.footer-premium .footer-main {
  grid-template-columns:minmax(0,1.12fr) minmax(195px,.82fr) minmax(300px,1.05fr);
  gap:20px !important;
  align-items:stretch;
}
.footer-premium .footer-brand-card,
.footer-premium .footer-column {
  min-width:0;
  border-radius:21px;
  border-color:rgba(143,209,251,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.footer-premium .footer-contact-column { min-width:0; }
.footer-premium .footer-contact-list { display:grid;grid-template-columns:minmax(0,1fr);gap:9px !important; }
.footer-premium .footer-contact-item {
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 16px !important;
  align-items:center;
  gap:12px !important;
  min-width:0;
  min-height:65px;
  padding:10px 12px !important;
  overflow:visible;
  border-radius:14px !important;
}
/* Travas de posicao: cada contato ocupa sempre icone, texto e seta.
   Evita que um elemento extra comprima o e-mail em coluna estreita. */
.footer-premium .footer-contact-item > .footer-contact-icon {grid-column:1;grid-row:1;}
.footer-premium .footer-contact-item > .footer-contact-copy {grid-column:2;grid-row:1;min-width:0;}
.footer-premium .footer-contact-item > b {grid-column:3;grid-row:1;}
.footer-premium .footer-contact-icon {
  display:grid;place-items:center;
  width:38px !important;
  height:38px !important;
  flex:0 0 38px;
  border-radius:12px !important;
}
.footer-premium .footer-contact-icon svg {width:19px;height:19px;display:block}
.footer-premium .footer-contact-copy {min-width:0;max-width:100%;}
.footer-premium .footer-contact-copy small {font-size:10px !important;line-height:1.3;margin-bottom:4px;}
.footer-premium .footer-contact-copy strong {
  display:block;
  max-width:100%;
  color:#eef7ff;
  font-size:12.5px !important;
  line-height:1.45;
  overflow:visible !important;
  white-space:normal !important;
  overflow-wrap:anywhere;
  word-break:normal;
  text-overflow:clip !important;
}
.footer-premium .footer-contact-item>b {justify-self:end;align-self:center;font-size:16px;}
.footer-premium .footer-contact-email-item .footer-contact-copy strong {color:#dff5ff;}
.footer-premium .footer-contact-instagram-item .footer-contact-copy strong {color:#ffe0f4;}
.footer-premium .footer-contact-email {background:linear-gradient(160deg,#123b5a,#0e2844);color:#7edaff;}
.footer-premium .footer-contact-instagram {background:linear-gradient(145deg,#8a367d,#273d93);color:#fff0fa;}
.footer-premium .footer-contact-email-item {background:linear-gradient(120deg,rgba(16,71,111,.22),rgba(255,255,255,.02));}
.footer-premium .footer-contact-instagram-item {background:linear-gradient(120deg,rgba(91,42,113,.23),rgba(255,255,255,.02));}
.footer-premium .footer-contact-item:focus-visible,
.footer-premium .local-footer-links a:focus-visible {outline:2px solid #79daff;outline-offset:3px;}

/* Área regional em cartão único: descrição separada dos links. */
.footer-premium .local-footer-seo {
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr);
  align-items:center;
  justify-content:initial;
  gap:16px;
  margin-top:20px;
  padding:17px 20px;
  border:1px solid rgba(143,209,251,.12);
  border-radius:18px;
  background:linear-gradient(120deg,rgba(13,52,84,.55),rgba(6,27,50,.56));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  color:#acc4d8;
}
.footer-premium .local-footer-intro {display:flex;align-items:center;gap:12px;min-width:0;}
.footer-premium .local-footer-symbol {
  display:grid;place-items:center;
  flex:0 0 40px;
  height:40px;
  border-radius:13px;
  background:rgba(24,190,238,.095);
  border:1px solid rgba(102,210,255,.15);
  color:#69d8ff;
}
.footer-premium .local-footer-symbol svg {display:block;width:20px;height:20px;}
.footer-premium .local-footer-intro-copy {display:flex;flex-direction:column;gap:3px;min-width:0;}
.footer-premium .local-footer-intro-copy strong {color:#f0f8ff;font-size:13px;line-height:1.3;font-weight:800;}
.footer-premium .local-footer-intro-copy small {color:#8eabc1;font-size:10.5px;line-height:1.45;font-weight:500;}
.footer-premium .local-footer-links {display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0;}
.footer-premium .local-footer-links a {
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:10px 12px;
  min-height:36px;
  border:1px solid rgba(122,188,228,.17);
  border-radius:999px;
  background:rgba(255,255,255,.04);
  color:#cce1f1;
  font-size:11px;
  line-height:1.25;
  font-weight:680;
  text-align:center;
  white-space:nowrap;
  transition:background .22s ease,border-color .22s ease,transform .22s ease;
}
.footer-premium .local-footer-links a span {font-size:13px;color:#55c9f8;}
.footer-premium .local-footer-links a:hover {color:#fff;background:rgba(36,157,216,.14);border-color:rgba(90,198,249,.35);transform:translateY(-2px);}
.footer-premium .footer-bottom {flex-wrap:wrap;line-height:1.55;}

@media(max-width:1050px){
  .footer-premium .footer-main {grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;}
  .footer-premium .footer-brand-card {grid-column:1 / -1;}
  .footer-premium .local-footer-seo {grid-template-columns:minmax(0,1fr);gap:13px;}
  .footer-premium .local-footer-links {justify-content:flex-start;}
}
@media(max-width:700px){
  .footer-premium .footer-main {grid-template-columns:minmax(0,1fr) !important;gap:12px !important;}
  .footer-premium .footer-brand-card,.footer-premium .footer-column {grid-column:auto;padding:20px !important;}
  .footer-premium .footer-contact-item {min-height:66px;grid-template-columns:38px minmax(0,1fr) 16px !important;gap:11px !important;}
  .footer-premium .local-footer-seo {margin-top:14px;padding:16px 15px;gap:15px;border-radius:17px;}
  .footer-premium .local-footer-links {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .footer-premium .local-footer-links a {min-width:0;padding:10px 6px;font-size:10.5px;}
  .footer-premium .footer-bottom {gap:9px !important;}
}
@media(max-width:360px){
  .footer-premium .footer-brand-card,.footer-premium .footer-column {padding:17px 15px !important;}
  .footer-premium .footer-contact-item {grid-template-columns:35px minmax(0,1fr) 14px !important;gap:9px !important;padding:10px !important;}
  .footer-premium .footer-contact-icon {width:35px !important;height:35px !important;}
  .footer-premium .local-footer-seo {padding:14px 12px;}
  .footer-premium .local-footer-links a {font-size:10px;}
}
@media(prefers-reduced-motion:reduce){
  .footer-premium .local-footer-links a {transition:none;}
}
