/*
 * Espaços publicitários — compatível com AdSlot.css do tema Calila
 * Dimensões IAB reservadas para evitar CLS.
 */

.ad-slot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  position: relative;
}

.ad-slot__label {
  font-family: system-ui, sans-serif;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #949494;
  line-height: 1;
}

.ad-slot__frame {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  background: #f7f7f7;
  overflow: hidden;
}

.ad-slot__size {
  font-family: system-ui, sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #6b6b6b;
  user-select: none;
}

.ad-slot__size--lg {
  display: none;
}

.ad-slot--header {
  margin: 0;
  gap: 0.25rem;
}

.ad-slot--header .ad-slot__frame {
  width: min(100%, 20rem);
  height: 3.125rem;
}

.ad-slot--in-feed {
  margin-block: 1.5rem;
  padding-block: 1.25rem;
  border-block: 1px solid #e8e8e8;
}

.ad-slot--in-feed .ad-slot__frame {
  width: min(100%, 18.75rem);
  height: 15.625rem;
  border: none;
  background: #fff;
}

.ad-slot--sidebar {
  margin: 0 0 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #e8e8e8;
}

.ad-slot--sidebar .ad-slot__frame {
  width: min(100%, 18.75rem);
  height: 15.625rem;
}

.ad-slot--footer {
  margin-block: 2.5rem 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e8e8e8;
}

.ad-slot--footer .ad-slot__frame {
  width: min(100%, 20rem);
  height: 3.125rem;
}

.calila-pub-ad__link,
.calila-pub-ad__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.calila-pub-ad__link {
  line-height: 0;
}

.calila-pub-ad__code {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  max-width: 100%;
  overflow: hidden;
}

.calila-pub-ad__code iframe,
.calila-pub-ad__code img,
.calila-pub-ad__code ins {
  max-width: 100%;
}

@media (min-width: 768px) {
  .ad-slot__size--sm {
    display: none;
  }

  .ad-slot__size--lg {
    display: block;
  }

  .ad-slot--header .ad-slot__frame,
  .ad-slot--footer .ad-slot__frame {
    width: min(100%, 45rem);
    height: 5.625rem;
  }
}
