/* ═══════════════════════════════════════════════════════════════════════
   Emplacements publicitaires (Google AdSense), posés par assets/js/pubs.js.
   Chargée par bdPubsPied() (includes/pubs.php) seulement quand les
   emplacements sont allumés (aperçu local ou vrai mode).

   Marges et tailles reprises du banc d'essai validé le 24/09/2026 : mêmes
   hauteurs, donc mêmes décisions d'espacement que dans le banc.
   Sélecteurs à deux classes pour l'emporter sur les styles de texte des
   pages (.article-body p, .legal-page p...).
   ═══════════════════════════════════════════════════════════════════════ */

.bd-pub,
.bd-pub * { box-sizing: border-box; }

.bd-pub {
    position: relative;
    color: #202124;
    font-family: inherit;
    line-height: 1.35;
    text-align: left;
}

.bd-pub p { margin: 0; }
.bd-pub svg { display: block; }

/* ── Libellé « Publicités » (seul libellé autorisé par Google avec
   « Liens commerciaux ») ── */
.bd-pub .bd-pub__label {
    display: block;
    margin: 0 0 6px;
    color: #5f6368;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .02em;
}

.bd-pub .bd-pub__label--dedans {
    display: inline;
    margin: 0;
}

/* ── Blocs Google ──
   .bd-pub__place réserve la place jusqu'à la demande à Google ; la vraie
   <ins> ne la remplace qu'à ce moment-là (voir demander() dans pubs.js). */
.bd-pub .bd-pub__ins,
.bd-pub .bd-pub__place { display: block; }

/* Bloc resté vide (Google n'avait rien à servir) : il disparaît, libellé
   compris, au lieu de laisser un cadre blanc. */
.bd-pub:has(ins.adsbygoogle[data-ad-status="unfilled"]) { display: none; }

/* Natifs en attente de réponse : place réservée, pour ne pas faire sauter
   la page à l'arrivée de l'annonce. Levée dès que Google a répondu. */
.bd-pub--infeed.bd-pub--reserve { min-height: 320px; }
.bd-pub--inarticle.bd-pub--reserve { min-height: 250px; }
.bd-pub--multiplex.bd-pub--reserve { min-height: 320px; }

/* ── In-feed (carte de liste) et In-article (entre deux parties) ── */
.bd-pub--infeed {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.bd-pub--inarticle { margin: 36px 0; }

/* ── Display : bannière centrée, taille exacte choisie selon la largeur ── */
.bd-pub--display {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 36px 0;
}

.bd-pub--728x90 .bd-pub__label { width: 728px; }
.bd-pub--300x250 .bd-pub__label { width: 300px; }
.bd-pub--250x250 .bd-pub__label { width: 250px; }
.bd-pub--200x200 .bd-pub__label { width: 200px; }
.bd-pub--180x150 .bd-pub__label { width: 180px; }

.bd-pub--728x90 .bd-pub__ins,
.bd-pub--728x90 .bd-pub__place { display: inline-block; width: 728px; height: 90px; }
.bd-pub--300x250 .bd-pub__ins,
.bd-pub--300x250 .bd-pub__place { display: inline-block; width: 300px; height: 250px; }
.bd-pub--250x250 .bd-pub__ins,
.bd-pub--250x250 .bd-pub__place { display: inline-block; width: 250px; height: 250px; }
.bd-pub--200x200 .bd-pub__ins,
.bd-pub--200x200 .bd-pub__place { display: inline-block; width: 200px; height: 200px; }
.bd-pub--180x150 .bd-pub__ins,
.bd-pub--180x150 .bd-pub__place { display: inline-block; width: 180px; height: 150px; }

/* Garde-fou (repris de assets/style/maquette/maquette.css, section « Garde-fou
   des pubs », avant sa redistribution à l'étape 3 du portage) : une bannière
   ne peut jamais élargir la page. Entre deux formats (fenêtre qui rétrécit),
   elle est rognée sur les côtés au lieu de faire dézoomer tout le téléphone
   (constaté le 24/09/2026, README « Page dézoomée sur téléphone »).
   overflow-x: clip ne rogne pas en hauteur (le badge de l'aperçu reste
   visible). Utile en réel aussi : un téléphone tenu à l'horizontale (plus de
   728 px) qui repasse à la verticale n'a alors pas ce dézoom, alors que le
   vrai mode ne choisit sa taille qu'une fois. */
.bd-pub--display {
    max-width: 100%;
    overflow-x: clip;
}

/* ── Multiplex : grille d'annonces en fin de parcours ── */
.bd-pub--multiplex { margin: 40px 0; }

/* ── Barre latérale de l'espace partenaire ──
   28 px d'air au-dessus : Google demande de ne pas coller une annonce à des
   boutons de navigation. Le moteur ne la pose que si le format tient. */
.bd-pub.bd-pub--barre { margin: 28px 0 12px; }

/* ── Annonce dans une fenêtre flottante (aperçu d'une auto-école) ── */
.bd-pub--flottant { margin: 16px 0 10px; }

/* ── Sous un questionnaire, ou après l'encart de l'assistant : de l'air
   pour que le doigt qui vise « Continuer » n'atterrisse pas sur l'annonce ── */
.bd-pub--sousoutil { margin-top: 56px; }

/* ── Élément de liste qui porte une annonce (villes du comparateur) ── */
.bd-pub-li {
    grid-column: 1 / -1;
    flex-basis: 100%;
    width: 100%;
    margin: 16px 0;
    padding: 0;
    list-style: none;
}

.bd-pub-li::before,
.bd-pub-li::marker { content: none; }

/* ── Emplacements MARQUÉS dans la page (bdPub(), includes/pubs.php ;
   assets/js/pubs.js, mode marques) : reprises de assets/style/maquette/maquette.css,
   section « Emplacements de publicité », avant sa redistribution à l'étape 3
   du portage (24/09/2026). ── */

/* Entre deux sections : dans la colonne du contenu, avec de l'air autour. */
.bd-pub-marque-zone {
    padding-block: 8px;
}

/* Dans une grille de cartes : une case comme une autre. */
.bd-pub-marque-li {
    list-style: none;
}

.bd-pub-marque-li .bd-pub {
    height: 100%;
}

/* ── Bouton « Gérer mes cookies » (pied du site, barre de l'espace
   partenaire), caché tant que le bandeau de Google n'est pas prêt ── */
.bd-cookies[hidden] { display: none; }

.tb-cookies {
    padding: 6px 10px;
    border: 0;
    border-radius: 8px;
    background: none;
    color: var(--text-3, #6b7280);
    font: inherit;
    font-size: 12.5px;
    cursor: pointer;
}

.tb-cookies:hover {
    background: var(--surface-3, #f3f4f6);
    color: var(--ink, #111827);
}
