/* Regie pub maison (sb-pub-maison.php) — reprise de wakkawiki.com le 15/09/2026, a l'identique :
   l'annonceur garde SA charte (variables locales sur .re), jamais celle du site hote. */
/* ═══════════════════════════ Régie pub maison (sb-pub-maison.php) — 14/09/2026 ═══════════════════════════
   Portée À L'IDENTIQUE depuis neogogol.com (référence validée) : auto-suffisant, couleurs en variables
   LOCALES sur .re (identité PROPRE à l'annonceur, jamais celle du site hôte) — ne dépend d'aucune
   variable du thème, portable tel quel d'un site à l'autre. Sans ce bloc, le mu-plugin sortait du texte
   brut sans mise en forme (V-4bis constaté le 14/09 en recette). */
.sb-pub{display:flex;justify-content:center;margin:26px 0}
.sb-pub .re{--lin:#F4F1EA;--nuit:#1F2D4D;--cuivre-2:#8C3F12;--sable:#F2C48D;--brume:#E3E8F0;--ok:#2F6B4F;
  display:flex;background:var(--lin);border:1px solid color-mix(in srgb,var(--nuit) 18%,transparent);
  text-decoration:none!important;overflow:hidden;max-width:100%}
.sb-pub .re__img{object-fit:cover;flex-shrink:0}
.sb-pub .re__body{display:flex;flex-direction:column;gap:6px}
.sb-pub .re__kicker{font-size:10px;letter-spacing:.04em;color:var(--cuivre-2);font-weight:700;text-transform:uppercase}
.sb-pub .re__head{font-weight:800;color:var(--nuit);line-height:1.15;letter-spacing:-.01em}
.sb-pub .re__sub{color:var(--nuit);opacity:.85;line-height:1.35}
.sb-pub .re__cta{background:var(--cuivre-2);color:#fff;font-weight:700;text-align:center;border-radius:6px;line-height:1.15}
.sb-pub .re__disc{color:var(--nuit);opacity:.7;line-height:1.3}
.sb-pub .re__bul{list-style:none;color:var(--nuit);line-height:1.35;margin:0;padding:0}
.sb-pub .re__bul li{padding-left:1.1em;position:relative}
.sb-pub .re__bul li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}
.sb-pub .f300x250{flex-direction:column}
.sb-pub .f300x250 .re__body{padding:10px 12px 12px;flex:1}
.sb-pub .f300x250 .re__head{font-size:17px}
.sb-pub .f300x250 .re__cta{font-size:14px;padding:9px 10px;margin-top:auto}
.sb-pub .f300x250 .re__disc{font-size:10px;text-align:center}
.sb-pub .f300x600{flex-direction:column}
.sb-pub .f300x600 .re__img{width:100%;height:230px;flex:0 0 230px;object-fit:cover;object-position:center}
.sb-pub .f300x600 .re__body{padding:13px 18px 12px;flex:1;justify-content:center}
.sb-pub .f300x600 .re__head{font-size:22px}
.sb-pub .f300x600 .re__sub{font-size:14px}
.sb-pub .f300x600 .re__bul{font-size:13px;display:flex;flex-direction:column;gap:5px;margin-top:2px}
.sb-pub .f300x600 .re__cta{font-size:16px;padding:12px 12px;margin-top:auto}
.sb-pub .f300x600 .re__disc{font-size:11px;text-align:center}
.sb-pub .f728x90{align-items:center}
.sb-pub .f728x90 .re__body{padding:0 14px;justify-content:center;gap:3px;flex:1;min-width:0}
.sb-pub .f728x90 .re__head{font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-pub .f728x90 .re__sub{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-pub .f728x90 .re__cta{font-size:15px;padding:0 22px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:0 16px 0 0;white-space:nowrap}
.sb-pub .fmobile{flex-direction:column}
.sb-pub .fmobile .re__body{padding:12px 16px 14px;flex:1}
.sb-pub .fmobile .re__head{font-size:19px}
.sb-pub .fmobile .re__sub{font-size:13px}
.sb-pub .fmobile .re__cta{font-size:16px;padding:12px 10px;margin-top:auto}
.sb-pub .fmobile .re__disc{font-size:11px;text-align:center}
.sb-pub-360x300{display:none}
.sb-pub-300x250,.sb-pub-728x90{display:flex}
.sb-pub-300x600{display:flex}
@media (max-width:760px){
  .sb-pub-300x250,.sb-pub-728x90,.sb-pub-300x600{display:none}
  .sb-pub-360x300{display:flex}
}
.sb-pub-carte{margin:0}
.sb-pub .fcarte{flex-direction:column;width:100%}
.sb-pub .fcarte .re__body{padding:10px 12px 12px;flex:1}
.sb-pub .fcarte .re__head{font-size:17px}
.sb-pub .fcarte .re__cta{font-size:14px;padding:9px 10px;margin-top:auto}
.sb-pub .fcarte .re__disc{font-size:10px;text-align:center}
.sb-pub-texte-large{display:flex;margin:28px 0}
.sb-pub .ftexte{flex-direction:row;align-items:stretch;height:132px;width:100%}
.sb-pub .ftexte .re__img{width:35%;max-width:230px;height:100%;flex:0 0 35%;object-fit:cover}
.sb-pub .ftexte .re__body{flex:1;padding:12px 20px;justify-content:center;gap:4px;min-width:0}
.sb-pub .ftexte .re__kicker{font-size:9px}
.sb-pub .ftexte .re__head{font-size:16px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sb-pub .ftexte .re__sub,.sb-pub .ftexte .re__disc,.sb-pub .ftexte .re__bul{display:none}
.sb-pub .ftexte .re__cta{align-self:flex-start;font-size:13px;padding:8px 16px;margin-top:6px;border-radius:4px}
@media(max-width:760px){.sb-pub-texte-large{display:none}}

/* Bande accueil pleine largeur (retour Mathias 14/09 15h) : image object-fit:cover sur une
   moitie a hauteur fixe, texte+bouton raisonnable sur l'autre moitie. Remplace 728x90/carte
   utilises jusque-la (image trop petite, grand vide). */
.sb-pub-bandeau{display:flex;margin:0}
.sb-pub .fbandeau{flex-direction:row;align-items:stretch;width:100%;height:320px;border-radius:var(--rayon);overflow:hidden}
.sb-pub .fbandeau .re__img{width:50%;height:100%;flex:0 0 50%;object-fit:cover}
.sb-pub .fbandeau .re__body{flex:1;min-width:0;padding:2rem 2.6rem;justify-content:center;gap:.6rem;background:var(--feuille)}
.sb-pub .fbandeau .re__kicker{font-size:12px}
.sb-pub .fbandeau .re__head{font-size:27px;line-height:1.2}
.sb-pub .fbandeau .re__sub{font-size:15px}
.sb-pub .fbandeau .re__cta{align-self:flex-start;font-size:15px;padding:13px 26px;border-radius:6px;margin-top:.3rem}
.sb-pub .fbandeau .re__disc{font-size:11px}
@media(max-width:900px){
  .sb-pub .fbandeau{flex-direction:column;height:auto}
  .sb-pub .fbandeau .re__img{width:100%;height:220px;flex:0 0 220px}
  .sb-pub .fbandeau .re__body{padding:1.4rem 1.6rem}
  .sb-pub .fbandeau .re__head{font-size:21px}
}
/* Point 9 (CM-0418, tour 2, mobile) : sous 760px la pub de l'accueil doit ressembler au
   maximum à une carte article — même modèle que .fgrille (pages rubrique, déjà jugée bonne
   par Mathias). Écrase la version 900px ci-dessus : image 16/9 pleine largeur (pas une
   hauteur fixe recadrée différemment), même typo de titre que les cartes (18px/700/var(--titre)),
   sous-texte masqué (les cartes article n'en ont pas), même hauteur qu'une carte. */
@media(max-width:760px){
  /* Point 5 (tour 3, CM-0392) : le <a class="fbandeau"> porte un style="height:320px" EN LIGNE
     (posé par le mu-plugin réseau qui sert la pub — jamais touché, cf doctrine mu-plugins).
     Un style inline gagne sur n'importe quelle règle de feuille de style, y compris les media
     queries précédentes (900px: height:auto) : la case restait donc figée à 320px sur mobile
     quelle que soit la hauteur réelle du contenu empilé (image 16/9 + titre + bouton), et
     overflow:hidden rognait le bouton "Je vérifie mon relevé" en bas. Seul un héritage
     !important dans la feuille de style peut battre un style inline. */
  .sb-pub .fbandeau{border-radius:var(--rayon);height:auto!important}
  .sb-pub .fbandeau .re__img{aspect-ratio:16/9;height:auto;flex-basis:auto}
  .sb-pub .fbandeau .re__body{padding:.7rem .8rem .9rem;gap:.35rem}
  .sb-pub .fbandeau .re__kicker{font-size:10px;margin-top:.1rem}
  .sb-pub .fbandeau .re__head{font-size:18px;font-weight:700;font-family:var(--titre);line-height:1.25}
  .sb-pub .fbandeau .re__sub{display:none}
  .sb-pub .fbandeau .re__cta{font-size:13.5px;padding:9px 16px;border-radius:5px;margin-top:.2rem;align-self:flex-start}
  .sb-pub .fbandeau .re__disc{font-size:10px}
}

/* Carte pub native de grille de rubrique (retour Mathias 14/09 15h) : memes proportions qu'une
   carte article (image 16:9 pleine largeur, mention discrete, titre, bouton) — plus jamais une
   banniere recadree ni une image seule dans la grille. */
.sb-pub-grille{margin:0;height:100%}
.sb-pub .fgrille{flex-direction:column;width:100%;height:100%}
.sb-pub .fgrille .re__img{width:100%;aspect-ratio:16/9;object-fit:cover;height:auto;flex-shrink:0}
.sb-pub .fgrille .re__body{padding:.7rem .8rem .9rem;gap:.35rem}
.sb-pub .fgrille .re__kicker{font-size:10px;margin-top:.1rem}
.sb-pub .fgrille .re__head{font-size:18px;font-weight:700;font-family:var(--titre);color:var(--nuit)}
.sb-pub .fgrille .re__sub{display:none}
.sb-pub .fgrille .re__cta{align-self:flex-start;font-size:13.5px;padding:9px 16px;border-radius:5px;margin-top:.2rem}
.sb-pub .fgrille .re__disc{font-size:10px}

/* Colonne d'article : la pub 300x600 est un bloc à hauteur propre (via l'inline style width/height
   posé par sb_pub_rendu), jamais recouvert par "Les plus consultés" qui suit dans le flux normal. */
.qs-art-aside-pub{margin-bottom:1.2rem}
.qs-art-aside-pub .sb-pub{margin:0}
