/* A separate advertising surface, outside the assistant answer and sources. */
/* Banners v2: a peça é uma imagem inteira, mostrada sem recorte. */
.chat-ad {
  --ad-accent: #0e7d80;
  width: min(100%, 560px);
  min-width: 0;
  margin: 26px auto 14px;
  color: #242824;
  font-family: 'Plus Jakarta Sans', sans-serif;
  text-align: left;
}
.chat-ad-label {
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-left: 2px;
  color: #6e6b65;
  font-size: 11px;
  line-height: 1.4;
  letter-spacing: .02em;
}
.chat-ad-label strong { font-weight: 500; }
.chat-ad-label span[aria-hidden] { padding: 0 5px; }
.chat-ad-close {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-right: -10px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #6e6b65;
  background: transparent;
  cursor: pointer;
}
.chat-ad-close:hover { color: #242824; background: #eae5de; }
.chat-ad-banner {
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
  border: 1px solid #24282412;
  border-radius: 20px;
  background: #f5f4f0;
  box-shadow: 0 4px 16px #24282405;
  cursor: pointer;
  text-align: left;
  -webkit-tap-highlight-color: transparent;
}
/* Sem recorte: o banner mantém a proporção 3:2 desenhada. */
.chat-ad-banner img { display: block; width: 100%; height: auto; aspect-ratio: 1.5; }
.chat-ad-banner img[hidden] { display: none; }
.chat-ad-banner:hover { border-color: #24282426; box-shadow: 0 6px 20px #2428240f; }
/* Versão escrita, só quando a imagem não chega. */
.chat-ad-fallback { display: none; }
.chat-ad-banner.image-unavailable {
  display: grid;
  gap: 9px;
  padding: 22px 24px 24px;
  background: #fbfaf7;
}
.chat-ad-banner.image-unavailable .chat-ad-fallback { display: grid; gap: 9px; }
.chat-ad-category {
  color: var(--ad-accent);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: .1em;
}
.chat-ad-fallback strong {
  max-width: 23ch;
  color: #0b2440;
  font-size: clamp(21px, 4.9vw, 28px);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.chat-ad-fallback > span:not([class]) { max-width: 43ch; color: #5e625b; font-size: 13px; line-height: 1.65; }
.chat-ad-cta {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  margin-top: 6px;
  padding: 10px 18px;
  border-radius: 999px;
  color: #fff;
  background: var(--ad-accent);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
}
.chat-ad :is(button, a):focus-visible { outline: 3px solid var(--ad-accent); outline-offset: 3px; }
.chat-ad-note { margin: 8px 2px 0; color: #746f66; font-size: 10px; line-height: 1.5; }
.chat-ad-note span[aria-hidden] { padding: 0 3px; }
