/* ActuBénin — zones publicitaires.
   Chaque zone réserve sa hauteur (min-height) pour éviter tout décalage de mise en page.
   Appareils : mobile < 768 px, tablette 768–1023 px, ordinateur ≥ 1024 px. */

.ab-ad { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; margin-inline: auto; text-align: center; overflow: hidden; }
.ab-ad__label { display: block; font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ab-muted, #5b616b); margin-bottom: 4px; line-height: 16px; }
.ab-ad__slot { display: flex; justify-content: center; align-items: center; width: 100%; max-width: 100%; min-height: inherit; }
/* L'image d'une annonce ne dépasse jamais la hauteur de son format, même si le fichier envoyé est plus grand. */
.ab-ad { --ab-ad-h: 250px; }
.ab-ad--header_leaderboard, .ab-ad--home_before_footer, .ab-ad--single_top, .ab-ad--single_bottom, .ab-ad--category_between { --ab-ad-h: 90px; }
.ab-ad--single_in_content { --ab-ad-h: 280px; }
.ab-ad--home_sidebar_fil, .ab-ad--sidebar_top, .ab-ad--sidebar_sticky { --ab-ad-h: 600px; }
.ab-ad--mobile_sticky_bottom { --ab-ad-h: 50px; }
.ab-ad--interstitial { --ab-ad-h: 80vh; }
.ab-ad__slot img { margin-inline: auto; width: auto; max-width: 100%; height: auto; max-height: var(--ab-ad-h); object-fit: contain; }
@media (max-width: 767px) {
	.ab-ad--header_leaderboard, .ab-ad--home_before_footer, .ab-ad--single_top, .ab-ad--single_bottom, .ab-ad--category_between { --ab-ad-h: 100px; }
}
.ab-ad__slot a { display: inline-block; }
.ab-ad template { display: none; }

/* Hauteurs réservées (le libellé ajoute 20 px). */
.ab-ad--header_leaderboard { min-height: 90px; padding-block: 12px; box-sizing: content-box; max-width: 970px; }
.ab-ad--header_billboard { min-height: 250px; padding-block: 16px; box-sizing: content-box; max-width: 970px; }
.ab-ad--home_before_footer { min-height: 90px; padding-block: 20px; box-sizing: content-box; max-width: 970px; }
.ab-ad--home_between_sections { min-height: 250px; padding-block: 24px; box-sizing: content-box; max-width: 970px; }
.ab-ad--home_sidebar_fil, .ab-ad--sidebar_top, .ab-ad--sidebar_sticky { min-height: 250px; width: 100%; max-width: 300px; }
.ab-ad--single_top { min-height: 90px; padding-block: 16px; box-sizing: content-box; max-width: 728px; }
.ab-ad--single_in_content { min-height: 250px; margin-block: 1.6em; font-family: var(--ab-sans); }
.ab-ad--single_bottom { min-height: 90px; margin-block: 24px; max-width: 728px; }
.ab-ad--category_between { min-height: 90px; padding-block: 12px; box-sizing: content-box; width: 100%; max-width: 728px; }
.ab-ad--labelled { padding-top: 0; }
.ab-ad--labelled.ab-ad--header_leaderboard, .ab-ad--labelled.ab-ad--single_top { min-height: 110px; }

/* Bandeau fixe mobile. */
.ab-ad--mobile_sticky_bottom { position: fixed; left: 0; right: 0; bottom: 0; z-index: 96; min-height: 50px; padding: 6px 36px calc(6px + env(safe-area-inset-bottom)); background: var(--ab-bg, #fff); box-shadow: 0 -4px 14px rgba(0, 0, 0, .1); }
.has-mobile-share .ab-ad--mobile_sticky_bottom { bottom: 58px; }
.ab-ad__close { position: absolute; top: 4px; right: 6px; width: 28px; height: 28px; border-radius: 50%; background: rgba(17, 20, 24, .7); color: #fff; font-size: 18px; line-height: 1; display: grid; place-items: center; z-index: 2; }

/* Interstitiel (habillage / pop-up). */
.ab-ad--interstitial { position: fixed; inset: 0; z-index: 600; background: rgba(5, 6, 8, .85); padding: 24px; }
.ab-ad--interstitial .ab-ad__slot { max-width: min(800px, 100%); background: #fff; padding: 12px; border-radius: 4px; }
.ab-ad--interstitial .ab-ad__label { color: #ddd; }
.ab-ad--interstitial .ab-ad__close { top: 16px; right: 16px; width: 40px; height: 40px; font-size: 24px; }

/* Masquage (sans espace réservé) sur les appareils qu'aucune annonce de la zone ne cible. */
@media (max-width: 767px) {
	.ab-ad--no-mobile { display: none !important; }
	.ab-ad--header_leaderboard { min-height: 100px; max-width: 320px; }
	.ab-ad--header_billboard, .ab-ad--home_between_sections { min-height: 250px; max-width: 300px; }
	.ab-ad--home_before_footer, .ab-ad--single_top, .ab-ad--single_bottom, .ab-ad--category_between { min-height: 100px; max-width: 320px; }
	.ab-ad--labelled.ab-ad--header_leaderboard, .ab-ad--labelled.ab-ad--single_top { min-height: 120px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
	.ab-ad--no-tablet { display: none !important; }
	.ab-ad--header_billboard, .ab-ad--home_between_sections { min-height: 250px; max-width: 728px; }
}
@media (min-width: 768px) {
	.ab-ad--mobile_sticky_bottom { display: none !important; }
}
@media (min-width: 1024px) {
	.ab-ad--no-desktop { display: none !important; }
}

/* Zone vide après sélection côté navigateur (dates, appareil) : retirée sans laisser de trou. */
.ab-ad.is-empty, .ab-ad.is-closed { display: none !important; }
