/* ads.css — estilos mínimos del hueco de publicidad.
 * Hereda las variables del host si existen; si no, usa valores neutros.
 * El anuncio nunca debe empujar el contenido: por eso `max-height` y `overflow`. */

.ads-slot {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 14px;
  font-size: 12.5px;
  line-height: 1.35;
  color: var(--color-text, #111827);
  background: var(--color-bg-secondary, #f8fafc);
  border-bottom: 1px solid var(--color-border, #e5e7eb);
  overflow: hidden;
}

.ads-slot .ads-texto { flex: 1; min-width: 0; }

.ads-slot .ads-etiqueta {
  font-size: 10px;
  opacity: 0.55;
  white-space: nowrap;
  letter-spacing: 0.02em;
}

.ads-slot .ads-btn {
  font-size: 11.5px;
  font-weight: 700;
  color: #fff;
  background: var(--color-primary, #2563eb);
  border: none;
  border-radius: 999px;
  padding: 3px 12px;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
}

.ads-slot .ads-btn-sec {
  background: transparent;
  color: var(--color-text-muted, #6b7280);
}

.ads-consent { background: var(--color-bg, #fff); }

/* El inventario de AdSense se adapta al ancho disponible sin desbordar. */
.ads-slot .adsbygoogle { display: block; width: 100%; }

@media (prefers-color-scheme: dark) {
  .ads-slot {
    color: var(--color-text, #e5e7eb);
    background: var(--color-bg-secondary, #111827);
    border-bottom-color: var(--color-border, #374151);
  }
}

/* Intersticial: ocupa la pantalla y hay que cerrarlo. Sólo donde el operador
   lo activó a propósito — interrumpe la tarea del usuario. */
.ads-intersticial {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.45);
  padding: 18px;
}

.ads-intersticial-card {
  background: var(--surface, var(--color-bg, #fff));
  border: 1px solid var(--line, var(--color-border, #e5e7eb));
  border-radius: 16px;
  max-width: 440px;
  width: 100%;
  padding: 26px 26px 22px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
  color: var(--ink, var(--color-text, #111827));
}

.ads-intersticial-titulo { margin: 0 0 8px; font-size: 19px; }
.ads-intersticial-texto { margin: 0 0 18px; font-size: 13.5px; line-height: 1.55; opacity: 0.75; }
.ads-intersticial-acciones { display: flex; gap: 10px; flex-wrap: wrap; }
.ads-intersticial .ads-btn { padding: 10px 16px; border-radius: 10px; font-size: 13.5px; }
.ads-intersticial .ads-btn-ancho { flex: 1; text-align: center; }
.ads-intersticial .ads-etiqueta { display: block; margin-bottom: 10px; letter-spacing: 0.04em; text-transform: uppercase; }

/* Impresión: la publicidad no se imprime. */
@media print { .ads-slot, .ads-intersticial { display: none !important; } }
