/* ============================================================
   Triptik — Drapeaux d'affichage
   ------------------------------------------------------------
   LE SEUL FICHIER À MODIFIER pour rallumer un bloc masqué.
   Rien n'est supprimé du HTML : chaque bloc concerné est
   enveloppé dans un conteneur neutre `data-flag="…"` dont le
   `display` est piloté ici.

     none     → le bloc et tout son contenu sont masqués
     contents → l'enveloppe disparaît de la mise en page et le
                bloc s'affiche exactement comme avant

   `contents` est ce qui rend l'enveloppe indolore : elle ne
   crée ni boîte, ni ligne de grille, ni élément flex. Les
   enfants restent enfants directs de la grille parente.
   ============================================================ */

:root {

  /* ── showSocialProof ────────────────────────────────────
     Témoignages nominatifs, études de cas, chiffres de
     résultat client, page /realisations et tous les liens
     qui y mènent.
     Masqué tant que ces contenus ne reposent pas sur des
     clients réels et vérifiables.

     ⚠ Rallumer ce drapeau ne suffit pas : il faut aussi
       retirer la redirection 301 de /realisations/ dans
       netlify.toml et remettre la page au sitemap.xml. */
  --show-social-proof: none;

  /* ── showGoogleReviews ──────────────────────────────────
     Bandeau de réassurance « Avis Google ».
     Même à `contents`, le bandeau ne s'affiche que si
     assets/data/reviews.json contient au moins un avis :
     c'est assets/js/reviews.js qui lève le voile. Un fichier
     vide ⇒ aucun bloc, aucun trou dans la page. */
  --show-google-reviews: contents;

}

[data-flag="social-proof"]   { display: var(--show-social-proof)   !important; }
[data-flag="google-reviews"] { display: var(--show-google-reviews) !important; }

/* La section d'avis est une bande sombre pleine largeur : la laisser
   en place vide peindrait un aplat noir sans contenu. Elle est donc
   masquée PAR DÉFAUT et ne se montre que si elle contient une racine
   marquée prête par reviews.js.

   Le défaut sûr va dans le bon sens : pas de JS, fichier vide, JSON
   illisible, navigateur sans `:has()` — dans tous les cas la section
   reste absente, et la page n'a pas de trou. */
[data-reviews-section] { display: none; }
[data-reviews-section]:has([data-reviews-ready]) { display: block; }

/* La rangée de chiffres clés de l'accueil perd un compteur quand
   la preuve sociale est masquée. En `auto-fit`, elle se répartit
   sur le nombre de compteurs réellement présents au lieu de
   laisser une colonne vide — vrai dans les deux états du drapeau. */
.grid-4.kpi { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
