/* Ocho Columnas · formatos de publicidad. El hueco base (.ad, alto reservado, etiqueta) está en el tema. */

.ad__dentro { display: flex; justify-content: center; align-items: center; width: 100%; min-width: 0; }
.ad--direct, .ad--adsense { background: transparent; border-color: transparent; }
.ad__img { display: block; line-height: 0; }
.ad__img img { max-width: 100%; height: auto; }
.ad__frame { border: 0; max-width: 100%; display: block; }
.ad--adsense .ad__dentro { display: block; }

/* Vídeo dentro de un hueco */
.ad__video { position: relative; width: 100%; max-width: 640px; aspect-ratio: 16 / 9; background: #000; border-radius: 4px; overflow: hidden; }
.ad__video video { width: 100%; height: 100%; object-fit: cover; display: block; }
.ad__vermas { position: absolute; right: 8px; bottom: 8px; background: rgba(0, 0, 0, .7); color: #fff !important; font: 700 12px/1 var(--titular, Arial, sans-serif); padding: 7px 10px; border-radius: 3px; text-decoration: none !important; }

/* Nativo: imagen + titular, con la etiqueta «Publicidad» siempre visible */
.ad--home-feed, .ad--art-end { align-items: stretch; }
.ad__nativo { display: flex; flex-direction: column; gap: 8px; width: 100%; color: var(--tinta, #14201A); text-decoration: none !important; }
.ad__nativo img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 3px; }
.ad__nativo-txt { display: flex; flex-direction: column; gap: 4px; }
.ad__nativo-txt strong { font-size: 18px; line-height: 1.2; }
.ad__nativo-txt span { font-size: 13px; color: var(--albero-texto, #7A5510); }
.ad--home-feed.ad--direct, .ad--art-end.ad--direct { background: var(--albero-bg, #FBF4E3); border-color: transparent; }

/* Patrocinio de sección: logo junto al título, sin caja */
.ad--patrocinio { min-height: 0; border: 0; background: none; padding: 0; justify-content: flex-start; }
.ad--patrocinio .ad__label { display: none; }
.ad__patro { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; color: var(--suave, #5C6B62); text-decoration: none; }
.ad__patro img { max-height: 40px; width: auto; }

/* Cierre de formatos flotantes */
.ad__cerrar { position: absolute; top: 2px; right: 4px; z-index: 2; width: 28px; height: 28px; border: 0; border-radius: 50%; background: rgba(0, 0, 0, .65); color: #fff; font: 700 18px/28px Arial, sans-serif; cursor: pointer; padding: 0; }

/* Vídeo flotante: esquina inferior derecha en escritorio, franja inferior en móvil (menos del 30 % de la pantalla). */
.ad--video-flotante { position: fixed; z-index: 60; right: 16px; bottom: 16px; width: 380px; min-height: 0; padding: 22px 8px 8px; background: var(--sup, #fff); border: 1px solid var(--linea, #D8DED9); border-radius: 6px; box-shadow: 0 10px 30px rgba(0, 0, 0, .25); transform: translateY(130%); transition: transform .35s ease; }
.ad--video-flotante.ad--visible { transform: none; }
.ad--video-flotante .ad__video { max-width: none; }
@media (max-width: 767px) {
	.ad--video-flotante { left: 8px; right: 8px; bottom: 8px; width: auto; max-height: 30vh; }
	.ad--video-flotante .ad__video { aspect-ratio: auto; height: calc(30vh - 40px); }
	.con-anchor .ad--video-flotante { bottom: 70px; }
}
@media (prefers-reduced-motion: reduce) { .ad--video-flotante { transition: none; } }

/* Pie fijo en móvil 320×50 */
.ad--anchor-mobile { position: fixed; z-index: 55; left: 0; right: 0; bottom: 0; min-height: 0; height: 62px; padding: 6px 36px 6px 6px; border: 0; border-top: 1px solid var(--linea, #D8DED9); border-radius: 0; background: var(--sup, #fff); }
.ad--anchor-mobile .ad__label { top: 2px; left: 6px; font-size: 9px; }
.ad--anchor-mobile .ad__cerrar { top: 17px; }
.ad--anchor-mobile img { max-height: 50px; width: auto; }
.con-anchor { padding-bottom: 62px; }
