/* FONTE: ct_footer_redes_16.css */
/* CT-FOOTER-REDES-16 — rodapé responsivo, sem redes sem URL */
.site-footer .footer-grid .ct16-footer-tagline {
  max-width:310px;
  margin:16px 0 0 !important;
  line-height:1.65;
  white-space:pre-line;
  overflow-wrap:anywhere;
}
.site-footer .footer-grid .ct16-social-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:11px;
  margin:18px 0 0;
  max-width:320px;
}
.site-footer .footer-grid a.ct16-social-link:not(.brand) {
  width:41px;
  height:41px;
  min-height:41px;
  padding:0 !important;
  margin:0 !important;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  flex:0 0 41px;
  border-radius:50%;
  background:rgba(255,255,255,.085);
  border:1px solid rgba(255,255,255,.27);
  transition:background .2s,border-color .2s,transform .2s;
}
.site-footer .footer-grid a.ct16-social-link:not(.brand):hover,
.site-footer .footer-grid a.ct16-social-link:not(.brand):focus-visible {
  background:rgba(255,255,255,.19);
  border-color:#e5d5a9;
  transform:translateY(-2px);
}
.site-footer .ct16-social-link img {
  display:block;
  width:22px;
  height:22px;
  object-fit:contain;
}
/* Harmoniza apenas as margens dos links e títulos do rodapé no celular. */
@media (max-width:700px) {
  .site-footer .footer-grid > div:not(:first-child) h2 {
    margin:0 0 12px !important;
    line-height:1.45 !important;
  }
  .site-footer .footer-grid > div:not(:first-child) > a:not(.brand) {
    display:block;
    margin:0 !important;
    padding:7px 0 !important;
    line-height:1.55 !important;
    min-height:0;
  }
  .site-footer .footer-grid .ct-footer-editorial {
    align-self:start;
  }
  .site-footer .footer-grid .ct16-social-links {
    gap:9px;
    margin-top:17px;
  }
}
.ct16-editor{padding-bottom:70px}
.ct16-form{max-width:1000px;gap:24px}
.ct16-form fieldset{margin:0;border:1px solid var(--line,#d8ded4);border-radius:8px;padding:22px}
.ct16-form legend{font-family:var(--serif,Georgia,serif);font-size:clamp(22px,2.2vw,28px);padding-inline:8px}
.ct16-form label{display:block;margin-top:12px;margin-bottom:5px;font-weight:600;font-size:12px}
.ct16-form .small-note{margin-top:10px}
.ct16-admin-platforms-head{display:grid;grid-template-columns:110px minmax(0,1fr) 82px;gap:14px;font-size:11px;font-weight:600;color:var(--muted,#a0aaa0);margin-top:20px}
.ct16-admin-platforms{display:grid;gap:8px}
.ct16-admin-platform{display:grid;grid-template-columns:110px minmax(0,1fr) 82px;align-items:end;gap:10px 14px;padding:12px 0;border-bottom:1px solid var(--line,#d8ded4)}
.ct16-admin-platform > label{display:none}
.ct16-platform-label{display:flex;gap:8px;align-items:center;align-self:center}
.ct16-platform-label img{background:#173f35;padding:4px;border-radius:6px}
.ct16-admin-platform input,.ct16-admin-platform select{width:100%;min-width:0;margin:0}
@media(max-width:650px){
  .ct16-form fieldset{padding:16px}
  .ct16-admin-platforms-head{display:none}
  .ct16-admin-platform{grid-template-columns:minmax(0,1fr) 76px;gap:10px}
  .ct16-platform-label{grid-column:1/-1}
}


/* FONTE: ct_footer_layout_18.css */
/* CT-RODAPE-18 — layout das redes sociais e cadencia do bloco Atualidades.
   Ajuste estritamente visual: links, texto, ordem e CMS permanecem intactos. */

/* Contar a largura disponivel da coluna institucional da marca, nao da tela. */
.site-footer .footer-grid > div:first-child {
  container-name: ct-footer-brand;
  container-type: inline-size;
}

/* Grade equilibrada: tres icones por linha, nunca cinco + um. */
.site-footer .footer-grid .ct16-social-links {
  display: grid !important;
  grid-template-columns: repeat(3, 42px) !important;
  grid-auto-flow: row !important;
  justify-content: start !important;
  align-items: center !important;
  justify-items: center !important;
  column-gap: 10px !important;
  row-gap: 10px !important;
  width: max-content !important;
  max-width: 100% !important;
  margin-top: 18px !important;
}
.site-footer .footer-grid a.ct16-social-link:not(.brand) {
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Quando a coluna da marca e suficientemente larga, seis na mesma linha. */
@container ct-footer-brand (min-width: 340px) {
  .site-footer .footer-grid .ct16-social-links {
    grid-template-columns: repeat(6, 42px) !important;
    column-gap: 10px !important;
  }
}

/* Links de Atualidades com a mesma cadencia das colunas vizinhas. */
@media (max-width: 700px) {
  .site-footer .footer-grid .ct-footer-editorial h2 {
    margin: 0 0 12px !important;
    line-height: 1.45 !important;
  }
  .site-footer .footer-grid .ct-footer-editorial > a:not(.brand) {
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 9px 0 !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
  }
  .site-footer .footer-grid .ct16-social-links {
    margin-top: 18px !important;
  }
}

@media (max-width: 359px) {
  .site-footer .footer-grid .ct16-social-links {
    grid-template-columns: repeat(3, 40px) !important;
    column-gap: 9px !important;
  }
  .site-footer .footer-grid a.ct16-social-link:not(.brand) {
    width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
  }
}


/* FONTE: ct_footer_alinhamento_19.css */
/* CT-RODAPE-ALINHAMENTO-19
   Mesma cadência vertical nas colunas Atualidades, Ofertas e demais colunas.
   Complementa CT16 e CT18; nao altera links de redes sociais. */
@media (max-width: 700px) {
  .site-footer .footer-grid > div:not(:first-child) > h2,
  .site-footer .footer-grid .ct-footer-editorial > h2 {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
    line-height: 1.45 !important;
  }

  .site-footer .footer-grid > div:not(:first-child) > a:not(.brand),
  .site-footer .footer-grid .ct-footer-editorial > a:not(.brand) {
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    text-align: left !important;
  }
}


/* FONTE: ct_footer_grid_mobile_20.css */
/* CT-RODAPE-20 — uma cadencia unica para os links do rodape no celular.
   Este CSS deve ser carregado DEPOIS de CT16/CT18/CT19.
   Mantem intactas as redes sociais, o texto e todas as URLs.
*/
@media (max-width:700px) {
  /* Cada coluna (Institucional, Descobrir, Atualidades, Ofertas)
     usa exatamente o mesmo trilho vertical: titulo + linhas de link. */
  .site-footer .footer-grid > div:not(:first-child) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 44px !important;
    grid-auto-flow: row !important;
    grid-auto-rows: 48px !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    align-content: start !important;
    row-gap: 0 !important;
    column-gap: 0 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  .site-footer .footer-grid > div:not(:first-child) > h2 {
    display: block !important;
    box-sizing: border-box !important;
    align-self: start !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 0 0 10px !important;
    line-height: 1.45 !important;
    text-align: left !important;
  }
  .site-footer .footer-grid > div:not(:first-child) > a:not(.brand) {
    display: block !important;
    box-sizing: border-box !important;
    align-self: start !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    margin: 0 !important;
    padding: 8px 0 0 !important;
    border: 0 !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    text-decoration: none;
  }
  .site-footer .footer-grid > div:not(:first-child) > a:not(.brand):hover,
  .site-footer .footer-grid > div:not(:first-child) > a:not(.brand):focus-visible {
    text-decoration: underline !important;
  }
}

