/* Clube FM v39 — ajuste responsivo isolado do rodapé.
   Mantém o rodapé desktop e a afiliação junto da marca. */
@media (min-width: 701px) and (max-width: 1050px) {
  .footer .footer-grid-v15 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 38px;
  }
  .footer .footer-grid-v15 > * { min-width: 0; }
}

@media (max-width: 700px) {
  .footer {
    padding-top: 28px;
    padding-bottom: calc(86px + env(safe-area-inset-bottom, 0px));
  }
  .footer .footer-v15 {
    width: min(calc(100% - 32px), 560px);
    margin-inline: auto;
  }
  .footer .footer-grid-v15 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(14px, 4vw, 28px);
    row-gap: 20px;
    align-items: start;
    padding: 0 0 24px;
  }
  .footer .footer-grid-v15 > * { min-width: 0; }
  .footer .footer-about-v15 {
    grid-column: 1 / -1;
    order: 0;
    padding: 0 0 19px;
    margin: 0;
    border-bottom: 1px solid #ebdeda;
  }
  .footer .footer-brand-row-v29 {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-width: 0;
    margin: 0 0 11px;
  }
  .footer .footer-logo-v15 { display: inline-flex; flex: 0 0 auto; }
  .footer .footer-logo-v15 img {
    display: block;
    width: 108px;
    height: 82px;
    object-fit: contain;
  }
  .footer .footer-affiliate-inline-v29 {
    flex: 0 1 auto;
    min-width: 0;
    max-width: calc(100% - 120px);
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 0;
    padding: 7px 9px;
    border-radius: 11px;
    box-shadow: none;
  }
  .footer .footer-affiliate-label-v29 {
    flex-shrink: 0;
    font-size: 10px;
    line-height: 1.2;
  }
  .footer .footer-affiliate-link-v29 { flex: 0 1 auto; min-width: 0; }
  .footer .footer-affiliate-link-v29 img {
    display: block;
    width: 110px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
  }
  .footer .footer-slogan-v15 {
    font-size: 20px !important;
    margin-bottom: 8px;
  }
  .footer .footer-about-v15 p:not(.footer-slogan-v15) {
    max-width: none;
    margin-top: 0;
    margin-bottom: 9px;
    line-height: 1.55;
    font-size: 13px;
  }
  .footer .footer-about-v15 address {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.6;
    overflow-wrap: anywhere;
  }
  /* Links em duas colunas, seção comercial abaixo ocupando a largura toda. */
  .footer .footer-grid-v15 > nav.footer-col-v15 { grid-column: 1; order: 1; }
  .footer .footer-grid-v15 > div.footer-col-v15:last-child { grid-column: 2; order: 2; }
  .footer .footer-grid-v15 > div.footer-col-v15:nth-child(3) {
    grid-column: 1 / -1;
    order: 3;
    padding-top: 17px;
    border-top: 1px solid #ebdeda;
  }
  .footer .footer-col-v15 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding-top: 0;
  }
  .footer .footer-col-v15 h2 {
    margin: 0 0 5px;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 850;
  }
  .footer .footer-col-v15 a {
    display: inline-block;
    max-width: 100%;
    font-size: 12.5px;
    line-height: 1.4;
    padding: 3px 0;
    overflow-wrap: anywhere;
    text-decoration: none;
  }
  .footer .footer-bottom-v15 {
    display: flex;
    flex-flow: column nowrap;
    align-items: flex-start;
    gap: 9px;
    padding: 15px 0 0;
    margin: 0;
    border-top: 1px solid #ebdeda;
    font-size: 11px;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }
  .footer .footer-bottom-v15 a { font-size: 12px; }

  /* Mesmo cuidado com o rodapé da página Anuncie. */
  .ad-footer { padding: 24px 0 calc(36px + env(safe-area-inset-bottom, 0px)); }
  .ad-footer .ad-footer-content {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 17px;
  }
  .ad-footer .ad-footer-content > div { min-width: 0; }
  .ad-footer .ad-footer-content nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
    border-top: 1px solid #eee2df;
    padding-top: 15px;
  }
  .ad-footer .ad-footer-content nav a {
    min-width: 0;
    font-size: 12px;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }
  .ad-footer .ad-copyright { line-height: 1.6; }
  .news-detail-footer { line-height: 1.7; overflow-wrap: anywhere; }
}

@media (max-width: 360px) {
  .footer .footer-v15 { width: calc(100% - 28px); }
  .footer .footer-brand-row-v29 { gap: 8px; }
  .footer .footer-logo-v15 img { width: 92px; height: 72px; }
  .footer .footer-affiliate-inline-v29 {
    max-width: calc(100% - 100px);
    padding: 5px 6px;
    gap: 4px;
  }
  .footer .footer-affiliate-label-v29 { font-size: 9px; }
  .footer .footer-affiliate-link-v29 img { width: 92px; }
  .footer .footer-grid-v15 { column-gap: 12px; }
  .footer .footer-col-v15 a { font-size: 12px; }
}
