/* GEOPOL 21 · Publicidad controlada */
.g21-ad {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 28px auto;
	max-width: 100%;
	overflow: hidden;
	text-align: center;
	clear: both;
}
.g21-ad__label {
	display: block;
	margin: 0 0 4px;
	font: 500 10px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #9AA3B5;
}
.g21-ad__frame {
	max-width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* Cabecera: franja limpia bajo el menú */
.g21-ad--cabecera { margin: 18px auto 22px; }

/* Banners entre secciones de la portada */
.g21-ad--band {
	padding: 22px 0;
	margin: 0 auto;
	width: 100%;
	border-top: 1px solid #E4E8F1;
	border-bottom: 1px solid #E4E8F1;
	background: #FAFBFD;
}

/* Final de artículo */
.g21-ad--articulo {
	padding-top: 22px;
	border-top: 1px solid #E4E8F1;
}

/* Portería */
.g21-ad--rail {
	position: fixed;
	z-index: 50;
	margin: 0;
	transition: opacity .2s ease;
}
.g21-ad--rail-off { opacity: 0; pointer-events: none; }

/* Si Google no sirve anuncio, el hueco desaparece sin dejar blanco */
.g21-ad:has(ins.adsbygoogle[data-ad-status^="unfill"]) { display: none; }

/* Vista previa para administradores (?g21ads=preview) */
.g21-ad__frame--preview {
	background: repeating-linear-gradient(45deg, #F2F5FB, #F2F5FB 10px, #E6EBF6 10px, #E6EBF6 20px);
	border: 2px dashed #16469A;
	border-radius: 6px;
	color: #16469A;
	font: 600 12px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

/* Marca en rojo, solo para administradores, cualquier anuncio fuera de los huecos */
.g21-ad-foreign { outline: 3px solid #D7263D !important; outline-offset: 2px; }

@media print { .g21-ad { display: none !important; } }
