/* NoCloudPDF — anuncios adaptables.
 * Los formatos de Adsterra son fijos (160x300, 320x50 y 728x90);
 * no se estiran ni se cortan para simular un banner responsive.
 * Por debajo de 1000 CSS px, los dos anuncios laterales se muestran
 * en el flujo de la pagina, conservando sus dos codigos originales.
 */
.ncp-inline-side-ads {
  display: grid;
  grid-template-columns: repeat(2, 160px);
  gap: 18px;
  justify-content: center;
  align-items: start;
  max-width: 100%;
  margin: 14px auto 24px;
}
.ncp-inline-side-ads > .ncp-ad-sidebar,
.ncp-inline-side-ads > .ncp-ad-sidebar-left,
.ncp-inline-side-ads > .ncp-ad-sidebar-right {
  position: relative;
  inset: auto;
  display: flex;
  flex: none;
  width: 160px;
  max-width: 160px;
  height: auto;
  min-height: 300px;
  margin: 0;
  padding: 0;
  overflow: visible;
  isolation: isolate;
  align-items: flex-start;
  justify-content: center;
}
.ncp-inline-side-ads .ncp-ad-sidebar iframe {
  display: block;
  width: 160px;
  max-width: 160px;
  height: 300px;
  border: 0;
}
/* Una pieza sin creatividad (p.ej., por un bloqueador) no ocupa 300 px vacios. */
.ncp-inline-side-ads .ncp-ad-sidebar:not(:has(iframe)) {
  min-height: 0;
  height: 0;
  overflow: hidden;
}
.ncp-inline-side-ads:has(.ncp-ad-sidebar iframe) {
  min-height: 321px;
}
.ncp-inline-side-ads:not(:has(.ncp-ad-sidebar iframe)) {
  display: none;
}
/* Reservar el encabezado 'Publicidad' encima de la pieza sin reducirla. */
.ncp-inline-side-ads .ncp-ad-sidebar:has(iframe) {
  padding-top: 20px;
}
@media (min-width: 1000px) {
  /* 160 + 24 de separación a cada lado; la mesa de trabajo conserva ancho real. */
  main#principal {
    width: calc(100% - 368px);
    max-width: 1050px;
  }
  .ncp-inline-side-ads {
    display: contents;
    margin: 0;
  }
  .ncp-inline-side-ads > .ncp-ad-sidebar,
  .ncp-inline-side-ads > .ncp-ad-sidebar-left,
  .ncp-inline-side-ads > .ncp-ad-sidebar-right {
    position: absolute;
    top: 185px;
    left: max(12px, calc((100vw - 1418px) / 2));
    right: auto;
    z-index: 1;
  }
  .ncp-inline-side-ads > .ncp-ad-sidebar-right {
    left: auto;
    right: max(12px, calc((100vw - 1418px) / 2));
  }
}
@media (max-width: 999px) {
  main#principal { width: 100%; }
}
@media (max-width: 359px) {
  /* 320px o menos: dos piezas de 160px no caben en una sola fila. */
  .ncp-inline-side-ads {
    grid-template-columns: 160px;
    gap: 14px;
  }
}
/* Nunca ampliar formatos fijos con transform: scale(), que recorta los anuncios. */
.ncp-ad-banner iframe, .ncp-ad-square iframe { border: 0; }
