/*
Theme Name: Agence Visibilité
Theme URI: https://agence-visibilite.fr
Description: Habillage editorial sombre pour Agence Visibilité, le média de la visibilité en ligne.
Author: Ecomyo
Template: astra
Version: 1.0
Text Domain: agence-visibilite
*/

:root{
  --encre:#0d1117;       /* fond le plus sombre */
  --nuit:#161d27;        /* panneaux / cartes */
  --nuit-2:#1f2835;      /* survol / élevé */
  --blanc:#eef3f8;       /* texte principal sur sombre */
  --brume:#9fabb9;       /* texte secondaire sur sombre */
  --clair:#f5f7f9;       /* surface de lecture claire (articles) */
  --encre-clair:#11161d; /* texte sur surface claire */
  --signal:#16e0c4;      /* cyan signal (accent unique) */
  --signal-2:#0bb29a;    /* cyan foncé (liens sur clair) */
  --trait:rgba(255,255,255,.10);
  --trait-fort:rgba(255,255,255,.22);
  --trait-clair:rgba(13,17,23,.12);
  --ombre:0 24px 60px -30px rgba(0,0,0,.8);
  --ombre-signal:0 0 0 1px rgba(22,224,196,.3), 0 18px 50px -24px rgba(22,224,196,.35);
  --titre:"Syne",Georgia,sans-serif;
  --texte:"Manrope",-apple-system,Segoe UI,sans-serif;
  --largeur:1180px;
}

.site-header,.ast-above-header-wrap,.ast-below-header-wrap,
.site-footer,.ast-small-footer,footer.site-footer{ display:none !important; }

html{ scroll-behavior:smooth; }
body{
  background:var(--encre);
  color:var(--blanc);
  font-family:var(--texte);
  font-size:18px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
a{ color:var(--signal); text-decoration:none; }
a:hover{ color:#fff; }
img{ max-width:100%; height:auto; display:block; }
h1,h2,h3,h4{ font-family:var(--titre); color:#fff; line-height:1.04; font-weight:700; letter-spacing:-.02em; }
.zone{ max-width:var(--largeur); margin-inline:auto; padding-inline:24px; }

/* ============== BARRE (header) ============== */
.barre{ position:sticky;top:0;z-index:60;background:rgba(13,17,23,.72);
  backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--trait);transition:border-color .25s,background .25s; }
.barre.fixee{ background:rgba(13,17,23,.92);border-bottom-color:var(--trait-fort); }
.barre__rang{ display:flex;align-items:center;gap:26px;height:74px; }
.barre__logo{ display:inline-flex;align-items:center;gap:11px;font-family:var(--titre);font-weight:800;
  font-size:1.3rem;color:#fff;letter-spacing:-.02em;white-space:nowrap; }
.barre__logo:hover{ color:#fff; }
.marque-ic{ width:34px;height:34px;flex:0 0 34px; }
.barre__nav{ display:flex;align-items:center;gap:20px;margin-left:auto; }
.barre__nav a{ color:var(--brume);font-weight:600;font-size:.95rem;position:relative;padding:6px 0;transition:color .2s; }
.barre__nav a:hover{ color:#fff; }
.barre__nav a::after{ content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--signal);transition:right .25s; }
.barre__nav a:hover::after{ right:0; }
.barre__cta{ display:inline-flex;align-items:center;gap:8px;background:var(--signal);color:var(--encre) !important;
  padding:11px 18px;border-radius:8px;font-weight:700;font-size:.92rem;transition:transform .15s,box-shadow .2s; }
.barre__cta::after{ display:none; }
.barre__cta:hover{ color:var(--encre) !important;transform:translateY(-1px);box-shadow:0 8px 24px -8px rgba(22,224,196,.6); }
.bascule{ display:none;background:none;border:0;width:42px;height:42px;cursor:pointer;margin-left:auto;color:#fff; }
.bascule span{ display:block;width:24px;height:2px;background:currentColor;margin:5px auto;transition:.3s; }
.bascule.on span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.bascule.on span:nth-child(2){ opacity:0; }
.bascule.on span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ============== INTRO (hero) ============== */
.intro{ position:relative;overflow:hidden;background:var(--encre); }
.intro::before{ content:"";position:absolute;inset:0;
  background:radial-gradient(60% 80% at 78% 18%,rgba(22,224,196,.16),transparent 60%),
            radial-gradient(50% 60% at 12% 90%,rgba(22,224,196,.07),transparent 60%); }
.intro__rang{ position:relative;display:grid;grid-template-columns:1.12fr .88fr;gap:48px;align-items:center;padding-block:88px 96px; }
.intro__sur{ display:inline-flex;align-items:center;gap:9px;font-weight:700;text-transform:uppercase;
  letter-spacing:.16em;font-size:.74rem;color:var(--signal);margin-bottom:22px; }
.intro__sur::before{ content:"";width:26px;height:2px;background:var(--signal); }
.intro__titre{ font-size:clamp(2.6rem,5.6vw,4.6rem);font-weight:800;color:#fff;margin:0 0 22px;letter-spacing:-.03em; }
.intro__titre em{ font-style:normal;color:var(--signal); }
.intro__sous{ font-size:1.18rem;color:var(--brume);max-width:38ch;margin:0 0 34px; }
.intro__actions{ display:flex;flex-wrap:wrap;gap:14px; }
.btn{ display:inline-flex;align-items:center;gap:9px;padding:14px 24px;border-radius:9px;font-weight:700;font-size:1rem;transition:transform .15s,box-shadow .2s,background .2s,color .2s,border-color .2s; }
.btn--plein{ background:var(--signal);color:var(--encre) !important; }
.btn--plein:hover{ background:#fff;color:var(--encre) !important;transform:translateY(-2px); }
.btn--ligne{ border:1.5px solid var(--trait-fort);color:#fff !important; }
.btn--ligne:hover{ border-color:var(--signal);color:var(--signal) !important; }

/* radar (visuel hero) */
.radar{ position:relative; }
.radar-carte{ position:relative;background:linear-gradient(160deg,rgba(31,40,53,.9),rgba(13,17,23,.9));
  border:1px solid var(--trait);border-radius:16px;padding:26px;box-shadow:var(--ombre);overflow:hidden; }
.radar-carte__tete{ display:flex;justify-content:space-between;align-items:center;font-size:.72rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--brume);margin-bottom:14px; }
.radar-carte__tete b{ color:var(--signal);font-family:var(--texte); }
.radar-carte svg{ width:100%;height:auto;display:block; }
.radar-carte__pied{ display:flex;gap:22px;margin-top:14px; }
.radar-carte__pied b{ display:block;color:#fff;font-size:1.5rem;font-family:var(--titre);line-height:1; }
.radar-carte__pied span{ font-size:.78rem;color:var(--brume); }

/* ============== SECTIONS ============== */
.section{ position:relative;padding-block:68px; }
.section--nuit{ background:var(--nuit); }
.tete{ display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:38px;
  border-bottom:1px solid var(--trait);padding-bottom:16px; }
.tete__sur{ display:block;color:var(--signal);font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px; }
.tete__titre{ font-size:clamp(1.7rem,3.2vw,2.3rem);margin:0; }
.tete__lien{ color:#fff;font-weight:600;font-size:.94rem;white-space:nowrap; }
.tete__lien:hover{ color:var(--signal); }
.section__chapo{ max-width:62ch;color:var(--brume);margin:-22px 0 36px;font-size:1.05rem; }

/* ============== PÔLES (grille catégories) ============== */
.grille-poles{ display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.pole{ position:relative;display:flex;flex-direction:column;background:var(--nuit);border:1px solid var(--trait);
  border-radius:14px;padding:26px 24px 28px;transition:transform .22s,border-color .22s,box-shadow .22s; }
.section--nuit .pole{ background:var(--encre); }
.pole:hover{ transform:translateY(-4px);border-color:rgba(22,224,196,.5);box-shadow:var(--ombre-signal); }
.pole__num{ position:absolute;top:20px;right:22px;font-family:var(--titre);font-weight:800;font-size:.8rem;color:var(--trait-fort); }
.pole__ic{ width:52px;height:52px;border-radius:12px;background:rgba(22,224,196,.12);display:grid;place-items:center;margin-bottom:18px; }
.pole__ic svg{ width:28px;height:28px;stroke:var(--signal);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round; }
.pole__titre{ font-size:1.22rem;margin:0 0 9px; }
.pole__titre a{ color:#fff; }
.pole__titre a:hover{ color:var(--signal); }
.pole__desc{ color:var(--brume);font-size:.98rem;line-height:1.6;margin:0 0 18px;flex:1; }
.pole__lire{ font-weight:700;font-size:.9rem;color:var(--signal);display:inline-flex;align-items:center;gap:7px; }
.pole__lire span{ transition:transform .2s; }
.pole:hover .pole__lire span{ transform:translateX(4px); }

/* ============== FLUX (articles) ============== */
.flux{ display:grid;grid-template-columns:repeat(3,1fr);gap:24px; }
.flux--une{ grid-template-columns:1.5fr 1fr 1fr; }
.carte-post{ display:flex;flex-direction:column;background:var(--nuit);border:1px solid var(--trait);border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s; }
.section--nuit .carte-post{ background:var(--encre); }
.carte-post:hover{ transform:translateY(-3px);box-shadow:var(--ombre);border-color:var(--trait-fort); }
.carte-post__media{ aspect-ratio:16/10;overflow:hidden;background:var(--encre);position:relative; }
.carte-post__media svg,.carte-post__media img{ width:100%;height:100%;object-fit:cover;transition:transform .5s; }
.carte-post:hover .carte-post__media img{ transform:scale(1.05); }
.carte-post__corps{ padding:18px 20px 22px;display:flex;flex-direction:column;flex:1; }
.tag-pole{ align-self:flex-start;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;color:var(--signal);margin-bottom:10px; }
.carte-post__titre{ font-size:1.14rem;line-height:1.25;margin:0 0 10px; }
.carte-post--vedette .carte-post__titre{ font-size:1.65rem; }
.carte-post__titre a{ color:#fff; }
.carte-post__titre a:hover{ color:var(--signal); }
.carte-post__chapo{ color:var(--brume);font-size:.95rem;line-height:1.6;margin:0 0 14px;flex:1; }
.carte-post__meta{ font-size:.8rem;color:var(--brume);border-top:1px solid var(--trait);padding-top:12px; }

.flux-vide{ grid-column:1/-1;text-align:center;padding:46px 24px;border:1px dashed var(--trait-fort);border-radius:14px;background:var(--nuit);color:var(--brume); }
.section--nuit .flux-vide{ background:var(--encre); }
.flux-vide strong{ display:block;font-family:var(--titre);color:#fff;font-size:1.3rem;margin-bottom:6px; }

/* ============== APPEL (CTA) ============== */
.appel{ position:relative;overflow:hidden;border-radius:18px;margin-block:0;background:linear-gradient(135deg,#10cfb6,#0a7c8f);
  color:var(--encre); }
.appel__in{ position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:46px 44px;flex-wrap:wrap; }
.appel::before{ content:"";position:absolute;right:-10%;top:-40%;width:50%;height:180%;border-radius:50%;background:rgba(255,255,255,.12); }
.appel h2{ color:var(--encre);font-size:clamp(1.5rem,3vw,2.1rem);margin:0 0 8px;max-width:24ch; }
.appel p{ margin:0;color:rgba(13,17,23,.78);max-width:48ch;font-weight:500; }
.appel .btn--plein{ background:var(--encre);color:#fff !important; }
.appel .btn--plein:hover{ background:#000;color:#fff !important; }

/* ============== PIED (footer) ============== */
.pied{ background:#0a0e13;color:var(--brume);padding-block:56px 26px;border-top:1px solid var(--trait); }
.pied__grille{ display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px;margin-bottom:40px; }
.pied__marque{ display:inline-flex;align-items:center;gap:10px;font-family:var(--titre);font-weight:800;font-size:1.25rem;color:#fff;margin-bottom:14px; }
.pied p{ font-size:.95rem;line-height:1.66;max-width:34ch; }
.pied h4{ color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;margin:0 0 16px;font-weight:700; }
.pied ul{ list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px; }
.pied a{ color:var(--brume);font-size:.95rem; }
.pied a:hover{ color:var(--signal); }
.pied__bas{ border-top:1px solid var(--trait);padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.85rem;color:#697585; }

/* ============== BARRE DE LECTURE ============== */
.barre-lecture{ position:fixed;top:0;left:0;height:3px;width:0;background:var(--signal);z-index:90;transition:width .1s linear; }

/* ============== FICHE (article / page) ============== */
.fiche{ background:var(--encre); }
.single .site-content > .ast-container,.page .site-content > .ast-container{ display:block; }
.fiche__tete{ position:relative;overflow:hidden;background:var(--encre);padding-block:60px 50px; }
.fiche__tete::before{ content:"";position:absolute;inset:0;background:radial-gradient(60% 90% at 80% 0,rgba(22,224,196,.14),transparent 60%); }
.fiche__tete .zone{ position:relative;max-width:820px; }
.fiche__pole{ font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;color:var(--signal);margin-bottom:16px;display:inline-block; }
.fiche__titre{ color:#fff;font-size:clamp(2rem,4.4vw,3.1rem);font-weight:800;margin:0 0 18px;letter-spacing:-.025em; }
.fiche__meta{ font-size:.92rem;color:var(--brume);display:flex;gap:16px;flex-wrap:wrap;align-items:center; }
.fiche__meta .pt{ color:var(--signal);font-weight:700; }
/* surface de lecture CLAIRE pour le confort (contraste avec le reste sombre) */
.fiche__corps{ background:var(--clair);color:var(--encre-clair); }
.fiche__corps .entry-content{ max-width:760px;margin-inline:auto;padding-block:48px; }
.entry-content>*{ margin-bottom:1.45em; }
.entry-content p{ font-size:1.12rem;line-height:1.8;color:#2a323c; }
.entry-content h2,.entry-content h3,.entry-content h4{ color:var(--encre-clair); }
.entry-content h2{ font-size:1.7rem;margin-top:1.8em;padding-top:.3em;border-top:1px solid var(--trait-clair); }
.entry-content h3{ font-size:1.32rem;margin-top:1.5em; }
.entry-content a{ color:var(--signal-2);text-decoration:underline;text-underline-offset:3px; }
.entry-content blockquote{ border-left:3px solid var(--signal);margin:1.6em 0;padding:.4em 0 .4em 1.3em;font-family:var(--titre);font-size:1.3rem;line-height:1.35;color:var(--encre-clair); }
.entry-content ul,.entry-content ol{ padding-left:1.3em; }
.entry-content li{ margin-bottom:.5em; }
.entry-content img,.visuel{ border-radius:12px; }
.visuel{ margin:0 0 1.6em;overflow:hidden;box-shadow:var(--ombre); }
.single .fiche__corps .entry-content>p:first-of-type::first-letter{ font-family:var(--titre);font-weight:800;float:left;font-size:3.4rem;line-height:.8;padding:6px 12px 0 0;color:var(--signal-2); }
.single .ast-article-single .entry-header,.page .ast-article-single .entry-header{ display:none; }

/* à lire (related) — à l'intérieur du panneau de lecture clair */
.a-lire{ margin-top:42px; }
.a-lire__titre{ font-family:var(--titre);font-weight:700;font-size:1.4rem;margin:0 0 20px;color:var(--encre-clair);border-top:1px solid var(--trait-clair);padding-top:26px; }
.a-lire__titre span{ color:var(--signal-2); }
.a-lire .fil{ display:grid;grid-template-columns:repeat(3,1fr);gap:18px; }
.a-lire .carte-post{ background:#fff;border-color:var(--trait-clair); }
.a-lire .carte-post__titre a{ color:var(--encre-clair); }
.a-lire .carte-post__titre a:hover{ color:var(--signal-2); }
.a-lire .carte-post__chapo{ color:#566; }
.a-lire .carte-post__meta{ color:#788;border-top-color:var(--trait-clair); }
.a-lire .tag-pole{ color:var(--signal-2); }
.a-lire .carte-post__media{ background:var(--nuit); }

/* ============== ARCHIVE / page tête ============== */
.tete-archive{ position:relative;overflow:hidden;background:var(--encre);padding-block:56px; }
.tete-archive::before{ content:"";position:absolute;inset:0;background:radial-gradient(60% 90% at 80% 0,rgba(22,224,196,.14),transparent 60%); }
.tete-archive .zone{ position:relative; }
.tete-archive h1{ color:#fff;font-size:clamp(2rem,4vw,2.8rem);margin:0; }
.tete-archive p{ color:var(--brume);margin:12px 0 0;max-width:60ch; }

/* ============== CONTACT ============== */
.contact-grille{ display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:start; }
.contact-infos{ padding:0;margin:0; }
.contact-infos li{ list-style:none;display:flex;gap:14px;margin-bottom:20px; }
.contact-infos .puce{ flex:0 0 42px;height:42px;border-radius:10px;background:rgba(22,224,196,.12);color:var(--signal);display:grid;place-items:center; }
.contact-infos b{ display:block;color:#fff;font-family:var(--titre); }
.contact-infos span{ color:var(--brume); }
.contact-infos a{ color:var(--signal); }
.form-av{ background:var(--nuit);border:1px solid var(--trait);border-radius:14px;padding:30px; }
.form-av label{ display:block;font-weight:700;font-size:.9rem;color:#fff;margin:0 0 7px; }
.form-av p{ margin:0 0 18px; }
.form-av input,.form-av textarea{ width:100%;padding:12px 14px;border:1px solid var(--trait-fort);border-radius:9px;background:var(--encre);font-family:var(--texte);font-size:1rem;color:#fff;transition:border-color .2s,box-shadow .2s; }
.form-av input:focus,.form-av textarea:focus{ outline:0;border-color:var(--signal);box-shadow:0 0 0 3px rgba(22,224,196,.2); }
.form-av textarea{ min-height:150px;resize:vertical; }
.form-av .miel{ position:absolute;left:-9999px; }
.form-av button{ background:var(--signal);color:var(--encre);border:0;padding:14px 28px;border-radius:9px;font-family:var(--texte);font-weight:700;font-size:1rem;cursor:pointer;transition:transform .15s,box-shadow .2s; }
.form-av button:hover{ transform:translateY(-1px);box-shadow:0 10px 26px -10px rgba(22,224,196,.6); }
.avis{ padding:14px 16px;border-radius:9px;margin-bottom:20px;font-weight:600; }
.avis--ok{ background:rgba(22,224,196,.12);color:var(--signal);border:1px solid rgba(22,224,196,.35); }
.avis--ko{ background:rgba(255,90,90,.1);color:#ff9b9b;border:1px solid rgba(255,90,90,.35); }

/* ============== RESPONSIVE ============== */
@media (max-width:980px){
  .intro__rang{ grid-template-columns:1fr;gap:40px;padding-block:60px 64px; }
  .radar{ max-width:460px; }
  .grille-poles,.flux,.flux--une{ grid-template-columns:repeat(2,1fr); }
  .pied__grille{ grid-template-columns:1fr 1fr; }
  .contact-grille{ grid-template-columns:1fr;gap:30px; }
  .a-lire .fil{ grid-template-columns:1fr; }
}
@media (max-width:680px){
  body{ font-size:17px; }
  .barre__nav{ position:fixed;inset:74px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:var(--encre);border-bottom:1px solid var(--trait);padding:8px 24px 18px;transform:translateY(-130%);transition:transform .3s;box-shadow:var(--ombre); }
  .barre__nav.on{ transform:translateY(0); }
  .barre__nav a{ padding:13px 0;border-bottom:1px solid var(--trait); }
  .barre__nav a::after{ display:none; }
  .barre__cta{ margin-top:10px;justify-content:center; }
  .bascule{ display:block; }
  .grille-poles,.flux,.flux--une{ grid-template-columns:1fr; }
  .pied__grille{ grid-template-columns:1fr; }
  .tete{ flex-direction:column;align-items:flex-start;gap:8px; }
  .appel__in{ padding:34px 26px; }
}
@media (prefers-reduced-motion:reduce){ *{ animation:none !important;transition:none !important;scroll-behavior:auto !important; } }

/* reveals — masqués uniquement si JS (.js sur <html>) */
.js .surgir{ opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease; }
.js .surgir.vu{ opacity:1;transform:none; }

/* full-width robuste (conteneur Astra page-builder en display:grid → forcer block + width) */
body #content.site-content>.ast-container{ display:block !important;max-width:100% !important;width:100% !important;
  margin-left:0 !important;margin-right:0 !important;padding-left:0 !important;padding-right:0 !important; }
#content.site-content{ padding-top:0 !important; }
#primary{ margin:0 !important;padding:0 !important;max-width:100% !important;width:100% !important; }
.av-accueil,.fiche{ position:relative;z-index:1; }
/* fond sombre sur tous les wrappers Astra (sinon liseré blanc sous le contenu) */
html,body,#page,#content.site-content,#content.site-content>.ast-container{ background:var(--encre); }
