/* ============================================================
   Xibar Native — modules/xn-ads.css
   Module « Publicités » : conteneurs des zones publicitaires. Feuille
   enfilée seulement si le module est actif (handle xibar-module-ads,
   inc/enqueue.php, lot L10). Règles extraites de xn.css puis de
   xn-layout.css, dans leur ordre d'origine. Le repère de zone vide de
   l'aperçu du Customizer reste dans xn-ads-preview.css.
   ============================================================ */

/* ── Article (ex-xn.css) ───────────────────────────────────── */
/* Pubs leaderboard (avant/apres article) — fond blanc + padding leger
   pour ne pas casser l effet 'plaque blanche' du contenu article. */
body.single .xn-ad,
body.single .xn-ad--leaderboard {
    background: var(--xn-color-white);
    padding: 12px 0;
}

/* ── PUB / LEADERBOARD (ex-xn.css) ─────────────────────────── */
.xn-ad {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    text-align: center;
    overflow: visible;
    /* Lot L10 : un code de largeur fixe (728 px, meme imbrique) n'elargit
       plus sa colonne, au bureau comme en mobile ; la zone prend la largeur
       de son conteneur. Possible depuis la correction de D4-19. */
    contain: inline-size;
}
/* Marge basse hors de la regle de base (lot L10, extraction par module) :
   l'utilitaire .xn-mb-lg de xn.css, de meme specificite et place apres
   elle, fixait la marge basse ; cette feuille etant chargee apres xn.css,
   :not(.xn-mb-lg) lui laisse la main sans changement de rendu. */
.xn-ad--leaderboard {
    text-align: center;
    background: var(--xn-color-bg);
    padding: var(--xn-space-sm) 0;
    margin-top: 20px;
    margin-right: 0;
    margin-left: 0;
    min-height: 90px;
    max-width: 100%;
    overflow: hidden;
}
.xn-ad--leaderboard:not(.xn-mb-lg) {
    margin-bottom: 20px;
}
.xn-ad--leaderboard img,
.xn-ad--leaderboard iframe { margin-inline: auto; max-width: 100%; }

.xn-single .xn-ad--leaderboard {
    margin-bottom: 20px;
}

.xn-ad--top {
    width: 100%;
    background: var(--xn-color-bg);
    text-align: center;
    padding: 8px 0;
}

/* Centrage universel toutes zones pub (regle .xn-ad principale ci-dessus) */
.xn-ad > * {
    display: block;
    flex-shrink: 1;
    max-width: 100%;
    min-width: 0;
}
.xn-ad img {
    display: block;
    max-width: 100%;
    height: auto;
}
.xn-ad--sidebar {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    margin: 8px 0;
    overflow: hidden;
}
.xn-ad--sidebar img,
.xn-ad--sidebar iframe {
    margin-inline: auto;
    max-width: 100%;
    height: auto;
    max-height: 400px;
    object-fit: contain;
}

/* Sidebar article : 1er enfant = pub (.xn-widget--ad) → supprime
   margin-top ET padding-top (la pub remplit son wrapper). Le cas du
   1er enfant non-pub reste dans xn.css. */
.xn-sidebar--single > .xn-widget--ad:first-child {
    margin-top: 0;
    padding-top: 0;
}

@media (max-width: 768px) {
    /* Q5 — Pub leaderboard sans espace vide en mobile */
    body.single .xn-ad,
    body.single .xn-ad--leaderboard {
        min-height: 0;
        padding: 6px 0;
    }
}

/* -----------------------------------------------------------------------
   Script tags — forcer display:none dans les zones pub
   (flexbox override du display:none natif des <script> elements)
   ----------------------------------------------------------------------- */
.xn-ad script,
.xn-ad--banner script,
.xn-navbar__pub script,
.xn-widget--ad script {
    display: none !important;
}

/* ── Accueils (ex-xn-layout.css) ───────────────────────────── */
/* Containment pubs sidebars home4 — .xn-ad a overflow:visible : les
   images de regie peuvent depasser la largeur de colonne (260px
   gauche / 300px droite). On force overflow:hidden + max-width sur img
   et iframe pour eviter le debordement. */
body.xn-home4-active .xn-sidebar--left .xn-ad,
body.xn-home4-active .xn-sidebar--right .xn-ad {
    overflow: hidden;
}
body.xn-home4-active .xn-sidebar--left .xn-ad img,
body.xn-home4-active .xn-sidebar--right .xn-ad img,
body.xn-home4-active .xn-sidebar--left .xn-ad iframe,
body.xn-home4-active .xn-sidebar--right .xn-ad iframe {
    max-width: 100%;
    height: auto;
    margin-inline: auto;
    display: block;
}

/* Pubs sidebar (toutes homes) — boite alignee sur les widgets sidebar
   rubriques. Le box-shadow precedent etait invisible sur fond blanc
   home4 mais visible sur fond gris home1/2/3 (incoherent) : remplace par
   border 1px subtile. bg + padding 16px ajoutes pour egaliser la largeur
   visuelle interne : certaines pubs ont .xn-widget (xn.css) qui apporte
   deja ces props, d autres non. La regle generique uniformise toutes les
   pubs sidebar. box-shadow:none neutralise l ombre apportee par
   .xn-widget pour eviter border+shadow combines. */
.xn-sidebar--left .xn-ad,
.xn-sidebar--right .xn-ad {
    background: var(--xn-color-white);
    border: 1px solid var(--xn-color-border);
    border-radius: 0;
    box-shadow: none;
    box-sizing: border-box;
    width: 100%;
    padding: var(--xn-space-md);
}

/* Pubs sidebars home1 (gauche et droite) — coins carres sur container et
   images internes. */
body.xn-home1-active .xn-sidebar--left .xn-ad,
body.xn-home1-active .xn-sidebar--right .xn-ad,
body.xn-home1-active .xn-sidebar--left .xn-ad img,
body.xn-home1-active .xn-sidebar--right .xn-ad img {
    border-radius: 0;
}

/* ─ Barre 1 — pub leaderboard centree dans sa colonne 1fr ─
   max-height 96px = 100px (Barre 1) - 4px de marge visuelle.
   Rendue dans templates/partials/header.php seulement si la zone
   « header » produit du HTML ; dans l'apercu du Customizer, repere de
   zone vide (xn-ads-preview.css, lot L5, D5-6). */
.xn-navbar__pub {
    grid-area: pub;
    display: flex;
    align-items: center;
    justify-content: center;
    justify-self: stretch;
    max-height: 96px;
    overflow: hidden;
    margin: 0;
    background: transparent;
    border: none;
    padding: 0;
}

@media (max-width: 768px) {
    /* Barre 1 desktop cachee en mobile (M1) : pub leaderboard masquee
       (tagline et meta : xn-layout.css). */
    .xn-navbar__pub {
        display: none;
    }
}
