/* Shared by public V3 and legacy pages. Creative sizes are never scaled. */
.ad-container-v2[data-ad-placement] {
  box-sizing: border-box;
  container: oposscs-ad / inline-size;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  width: 100%;
  max-width: 728px;
  min-height: 0;
  margin: 28px auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  text-align: center;
}
.ad-container-v2[data-ad-placement]::before {
  content: 'Publicidad';
  color: #64748b;
  font: 10px/14px system-ui, sans-serif;
  letter-spacing: .04em;
}
.ad-container-v2[data-ad-placement][hidden] { display: none !important; }
.ad-container-v2[data-ad-placement] .oposscs-ad-host {
  flex: none;
  width: 320px;
  height: 100px;
}
.ad-container-v2--bottom[data-ad-placement] .oposscs-ad-host { height: 50px; }
.ad-container-v2--content[data-ad-placement] { max-width: 320px; }
.ad-container-v2--content[data-ad-placement] .oposscs-ad-host { height: 250px; }
.ad-container-v2--sidebar[data-ad-placement] { max-width: 160px; margin: 20px auto; }
.ad-container-v2--sidebar[data-ad-placement] .oposscs-ad-host { width: 160px; height: 600px; }
@container oposscs-ad (min-width: 728px) {
  .ad-container-v2--banner[data-ad-placement] .oposscs-ad-host { width: 728px; height: 90px; }
}
@media (max-width: 1023px) {
  .ad-container-v2--sidebar[data-ad-placement] { display: none; }
}
@media (max-width: 768px) {
  /* Salir del margen de la página si es necesario: un anuncio de 320 px
     necesita sus 320 px completos incluso en un teléfono de ese ancho. */
  .ad-container-v2--banner[data-ad-placement],
  .ad-container-v2--content[data-ad-placement] {
    width: 320px;
    max-width: none;
    margin-inline: calc((100% - 320px) / 2);
  }
}
@media (max-width: 319px) {
  .ad-container-v2[data-ad-placement] { display: none; }
}
