/*
Theme Name: Le Café des Ads
Theme URI: https://lecafedesads.com
Author: William Palandre
Description: Thème sur mesure du média Le Café des Ads, l'actualité Google Ads, Meta Ads et LinkedIn Ads.
Version: 1.4.1
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: cafe-des-ads
*/

/* Maquette de page d'accueil, style Abondance : une en bleu nuit, puis bandes gris clair et blanches, grilles d'articles, touche café en crème */
:root {
  --nuit: #0b1a2c;
  --nuit-2: #13263d;
  --bleu: #3d5af1;
  --bleu-clair: #8ea0ff;
  --creme: #f3e6d0;
  --torref: #7a4a2b;
  --gris: #f2f4f7;
  --blanc: #ffffff;
  --encre: #0b1a2c;
  --sourd: #5b6779;
  --trait: #e2e6ec;
  --display: "Bricolage Grotesque", "Outfit", system-ui, sans-serif;
  --body: "Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { background: var(--gris); color: var(--encre); font-family: var(--body); font-size: 16px; line-height: 1.5; }
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid var(--bleu-clair); outline-offset: 2px; border-radius: 6px; }
.band { padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.in { max-width: 1200px; margin: 0 auto; }
h1, h2, h3 { font-family: var(--display); text-wrap: balance; margin: 0; letter-spacing: -.01em; }


/* En-tête */
header.band { background: var(--blanc); border-bottom: 1px solid var(--trait); position: sticky; top: env(safe-area-inset-top, 0px); z-index: 5; }
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 10; background: var(--blanc); }
.head { display: flex; align-items: center; gap: 24px; padding-block: 14px; }
.head .logo svg { height: 46px; width: auto; display: block; }
nav.menu { display: flex; gap: 22px; flex-wrap: wrap; font-weight: 500; font-size: 15px; flex: 1; min-width: 0; }
nav.menu a:hover { color: var(--bleu); }
.head-actions { display: flex; align-items: center; gap: 14px; }
.loupe { width: 22px; height: 22px; }
.btn { display: inline-flex; align-items: center; gap: 8px; border: 0; cursor: pointer; font: 600 15px var(--body); border-radius: 10px; padding: 11px 18px; }
.btn-bleu { background: var(--bleu); color: var(--blanc); }
.btn-pilule { background: var(--nuit); color: var(--blanc); border-radius: 999px; padding: 11px 22px; }

/* Une */
.une { background: var(--nuit); color: var(--blanc); padding-block: 48px 56px; }
.une h1 { font-size: clamp(26px, 3.4vw, 40px); font-weight: 800; text-align: center; margin-bottom: 36px; }
.une h1 span { color: var(--bleu-clair); }
.une-main { display: grid; grid-template-columns: 1fr 1.2fr; gap: 40px; align-items: center; }
.une-main h2 { font-size: clamp(28px, 3.6vw, 46px); font-weight: 800; line-height: 1.08; }
.une-main p { color: #c6cfdb; font-size: 17px; margin: 14px 0 0; max-width: 52ch; }
.une-sec { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 44px; }
.une-sec h3 { font-size: 20px; font-weight: 700; line-height: 1.25; margin-top: 14px; }
.date { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; color: var(--sourd); margin-top: 10px; }
.une .date { color: #9fb0c6; }
.date svg { width: 15px; height: 15px; flex: none; }
.pastille { display: inline-block; font: 600 11px var(--body); letter-spacing: .08em; text-transform: uppercase; background: var(--creme); color: var(--torref); border-radius: 999px; padding: 3px 10px; margin-bottom: 10px; }

/* Vignettes illustrées en CSS, par régie */
.vig { position: relative; border-radius: 12px; aspect-ratio: 16 / 9; max-width: 100%; overflow: hidden; display: grid; place-items: center; color: var(--blanc); font: 800 clamp(18px, 2.4vw, 30px) var(--display); }
.vig::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 85% 15%, rgba(255,255,255,.25), transparent 45%); }
.vig small { position: absolute; left: 14px; bottom: 12px; font: 600 12px var(--body); letter-spacing: .08em; text-transform: uppercase; opacity: .9; }
.v-google, .v-google-ads { background: linear-gradient(135deg, #1a73e8, #0b3d91); }
.v-meta, .v-meta-ads { background: linear-gradient(135deg, #0866ff, #5b2bd9); }
.v-linkedin, .v-linkedin-ads { background: linear-gradient(135deg, #0a66c2, #063b70); }
.v-microsoft, .v-microsoft-ads { background: linear-gradient(135deg, #2b7a3d, #12492a); }
.v-tiktok, .v-tiktok-ads { background: linear-gradient(135deg, #111, #2b2b2b); box-shadow: inset 6px 0 0 #25f4ee, inset -6px 0 0 #fe2c55; }
.v-marches, .v-marches-publics { background: linear-gradient(135deg, #7a4a2b, #3f2412); }
.v-barometre { background: linear-gradient(135deg, #3d5af1, #1d2e8f); }
.v-defaut, .v-autres-regies { background: linear-gradient(135deg, #13263d, #0b1a2c); }
.une-main .vig { aspect-ratio: 16 / 9; font-size: clamp(30px, 4.5vw, 56px); }

/* Sections */
.sec { padding-block: 56px; }
.sec.blanc { background: var(--blanc); }
.sec-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 28px; }
.sec-head h2 { font-size: clamp(26px, 3vw, 38px); font-weight: 800; }
.grille { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px 24px; }
.carte { min-width: 0; }
.carte h3 { font-size: 18px; font-weight: 700; line-height: 1.3; margin-top: 14px; }
.carte h3:hover { color: var(--bleu); }

/* L'essentiel du jour */
.essentiel { display: grid; grid-template-columns: auto 1fr; gap: 28px; background: var(--blanc); border: 1px solid var(--trait); border-radius: 18px; padding: 28px; }
.portrait { width: 96px; height: 96px; border-radius: 50%; background: var(--creme); display: grid; place-items: center; font: 800 30px var(--display); color: var(--torref); }
.essentiel .surtitre { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--bleu); font-weight: 600; }
.essentiel h2 { font-size: 28px; font-weight: 800; margin: 4px 0 12px; }
.essentiel ol { margin: 0; padding-left: 20px; display: grid; gap: 8px; max-width: 75ch; }
.essentiel .signature { margin-top: 14px; color: var(--sourd); font-size: 14px; }

/* Régies */
.regies { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.regie h2 { font-size: 24px; font-weight: 800; padding-bottom: 12px; border-bottom: 2px solid var(--encre); margin-bottom: 16px; }
.regie ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.regie li { display: grid; grid-template-columns: 92px 1fr; gap: 14px; align-items: start; }
.regie li .vig { font-size: 13px; border-radius: 8px; }
.regie li .vig small { display: none; }
.regie li h3 { font-size: 16px; font-weight: 600; line-height: 1.3; }
.regie li .date { margin-top: 4px; font-size: 13px; }

/* Paroles de régies */
.paroles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.parole { background: var(--nuit); color: var(--blanc); border-radius: 16px; padding: 24px; display: grid; gap: 12px; align-content: start; }
.tasses { display: flex; gap: 4px; }
.tasses svg { width: 22px; height: 22px; }
.parole blockquote { margin: 0; font: 600 19px/1.35 var(--display); }
.parole .qui { color: #9fb0c6; font-size: 14px; }

/* Baromètre et marchés */
.duo { display: grid; grid-template-columns: 1fr 1.25fr; gap: 28px; }
.baro { background: var(--bleu); color: var(--blanc); border-radius: 18px; padding: 30px; display: grid; gap: 10px; align-content: start; }
.baro .surtitre { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; opacity: .85; font-weight: 600; }
.baro .chiffre { font: 800 clamp(56px, 8vw, 88px)/1 var(--display); font-variant-numeric: tabular-nums; }
.baro .fourchette { font-size: 16px; opacity: .9; }
.baro .btn { background: var(--blanc); color: var(--bleu); justify-self: start; margin-top: 8px; }
.marches { background: var(--blanc); border: 1px solid var(--trait); border-radius: 18px; padding: 26px; min-width: 0; }
.marches h2 { font-size: 24px; font-weight: 800; margin-bottom: 14px; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums; }
th { text-align: left; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--sourd); font-weight: 600; padding: 8px 10px; border-bottom: 1px solid var(--trait); white-space: nowrap; }
td { padding: 12px 10px; border-bottom: 1px solid var(--trait); vertical-align: top; }
td.num { white-space: nowrap; text-align: right; }

/* Vidéo */
.video { display: grid; grid-template-columns: 1.3fr 1fr; gap: 36px; align-items: center; }
.ecran { position: relative; aspect-ratio: 16 / 9; max-width: 100%; border-radius: 16px; background: linear-gradient(135deg, var(--nuit), #24406a); display: grid; place-items: center; overflow: hidden; }
.ecran .play { width: 78px; height: 78px; border-radius: 50%; background: var(--bleu); display: grid; place-items: center; }
.ecran .play svg { width: 30px; height: 30px; margin-left: 4px; }
.ecran .tag { position: absolute; left: 18px; top: 16px; color: var(--blanc); font: 700 15px var(--display); }
.video h2 { font-size: clamp(26px, 3vw, 36px); font-weight: 800; }
.video ul { padding-left: 20px; margin: 14px 0 0; display: grid; gap: 6px; color: var(--sourd); }

/* Ressources */
.ressources { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.ress { background: var(--blanc); border: 1px solid var(--trait); border-radius: 16px; padding: 22px; display: grid; gap: 8px; align-content: start; }
.ress h3 { font-size: 19px; font-weight: 700; }
.ress p { margin: 0; color: var(--sourd); font-size: 15px; }
.ress .ico { width: 40px; height: 40px; border-radius: 10px; background: var(--creme); display: grid; place-items: center; }
.ress .ico svg { width: 22px; height: 22px; }

/* Inscription */
.inscription { background: var(--nuit); color: var(--blanc); border-radius: 22px; padding: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; }
.inscription h2 { font-size: clamp(26px, 3vw, 36px); font-weight: 800; }
.inscription p { color: #c6cfdb; margin: 10px 0 0; }
form.mail { display: grid; gap: 12px; }
.champ { display: flex; gap: 10px; flex-wrap: wrap; }
.champ input { flex: 1 1 220px; min-width: 0; border: 0; border-radius: 10px; padding: 14px 16px; font: 500 16px var(--body); color: var(--encre); background: var(--blanc); }
.consent { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: #b7c3d3; }
.consent input { margin-top: 3px; }
.merci { color: var(--bleu-clair); font-weight: 600; font-size: 15px; }

/* Pied de page */
footer.band { background: var(--nuit); color: #c6cfdb; padding-block: 48px 36px; margin-top: 56px; }
.pied { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 32px; }
.pied svg { height: 50px; width: auto; }
.pied h3 { font-size: 15px; color: var(--blanc); margin-bottom: 12px; font-family: var(--body); font-weight: 600; letter-spacing: 0; }
.pied ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; font-size: 15px; }
.pied p { font-size: 14px; margin: 14px 0 0; max-width: 40ch; }
.legal { border-top: 1px solid var(--nuit-2); margin-top: 36px; padding-top: 18px; font-size: 13px; color: #8797ad; }

@media (max-width: 980px) {
  nav.menu { display: none; }
  .grille, .ressources { grid-template-columns: repeat(2, 1fr); }
  .regies, .paroles { grid-template-columns: 1fr; }
  .une-main, .duo, .video, .inscription { grid-template-columns: 1fr; }
  .pied { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .une-sec, .grille, .ressources, .pied { grid-template-columns: 1fr; }
  .essentiel { grid-template-columns: 1fr; }
  .head .logo svg { height: 38px; }
  .head-actions .btn span { display: none; }
  .inscription { padding: 26px; }
}
@media (prefers-reduced-motion: no-preference) {
  .carte h3, nav.menu a { transition: color .15s; }
}

body { margin: 0; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.piege { position: absolute; left: -9999px; }
.vig span { position: relative; z-index: 1; padding: 0 12px; text-align: center; }
.vig.a-image { display: block; }
.vig.a-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vig.a-image::after { background: linear-gradient(to top, rgba(11,26,44,.55), transparent 45%); }
.vig small { z-index: 1; }
.v-autres-regies { background: linear-gradient(135deg, #3b2a6b, #1b1336); }
.v-defaut { background: linear-gradient(135deg, var(--nuit), #24406a); }
.v-microsoft-ads { background: linear-gradient(135deg, #2b7a3d, #12492a); }
.v-google-ads { background: linear-gradient(135deg, #1a73e8, #0b3d91); }
.v-meta-ads { background: linear-gradient(135deg, #0866ff, #5b2bd9); }
.v-linkedin-ads { background: linear-gradient(135deg, #0a66c2, #063b70); }
.v-tiktok-ads { background: linear-gradient(135deg, #111, #2b2b2b); box-shadow: inset 6px 0 0 #25f4ee, inset -6px 0 0 #fe2c55; }
.retour { margin: 0; font-size: 15px; font-weight: 600; }
.retour.ok { color: var(--bleu-clair); }
.retour.ko { color: #ffb4a8; }
nav.menu ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 22px; flex-wrap: wrap; }
.pied ul.menu { display: grid; }
.portrait img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; }
/* Article : en-tête clair façon presse (titre foncé, chapô gris, signature, actions) */
.progression { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 20; pointer-events: none; }
.progression span { display: block; height: 100%; background: var(--bleu); transform: scaleX(0); transform-origin: 0 50%; }
.article { background: var(--blanc); }
.article-tete { background: var(--blanc); color: var(--encre); padding-block: 44px 28px; }
.article-tete .in, .article-corps .in { max-width: 760px; }
.article-tete .fil { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.etiquette { display: inline-block; font: 600 12px var(--body); letter-spacing: .08em; text-transform: uppercase; color: var(--blanc); background: var(--bleu); border-radius: 999px; padding: 5px 12px; }
.e-google-ads { background: #1a73e8; } .e-meta-ads { background: #0866ff; } .e-linkedin-ads { background: #0a66c2; }
.e-microsoft-ads { background: #2b7a3d; } .e-tiktok-ads { background: #111; } .e-autres-regies { background: var(--nuit-2); }
.article-tete .pastille { margin: 0; }
.article-tete h1 { font-size: clamp(30px, 4.2vw, 46px); font-weight: 800; line-height: 1.1; margin: 18px 0 16px; color: var(--encre); }
.article-tete .chapo { color: #3c4859; font-size: 20px; line-height: 1.55; margin: 0; }
.signature-art { display: flex; align-items: center; gap: 14px; margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--trait); font-size: 15px; }
.signature-art .avatar { width: 48px; height: 48px; flex: none; border-radius: 50%; background: var(--creme); overflow: hidden; display: block; }
.signature-art .avatar img { width: 100%; height: 100%; object-fit: cover; }
.signature-art .auteur { display: block; font-weight: 600; color: var(--encre); }
.signature-art .auteur a:hover { color: var(--bleu); }
.signature-art .meta { display: block; color: var(--sourd); font-size: 14px; margin-top: 2px; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.action { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--trait); background: var(--blanc); color: var(--encre); border-radius: 999px; padding: 9px 16px; font: 500 14px var(--body); cursor: pointer; }
.action:hover { border-color: var(--encre); }
.action svg { flex: none; }
.article-image { max-width: 960px; margin: 8px auto 0; }
.article-image img { width: 100%; height: auto; border-radius: 16px; display: block; }
.article-corps { padding-block: 28px 64px; }
.transparence { background: #f1f4fe; border-radius: 14px; padding: 14px 18px; font-size: 15px; color: var(--encre); margin-bottom: 34px; }
.transparence summary { display: flex; align-items: center; gap: 12px; cursor: pointer; list-style: none; }
.transparence summary::-webkit-details-marker { display: none; }
.transparence .ia { flex: none; width: 34px; height: 34px; border-radius: 50%; background: #dfe5fd; color: var(--bleu); display: grid; place-items: center; font: 700 13px var(--body); }
.transparence .plus { margin-left: auto; color: var(--bleu); font-weight: 600; white-space: nowrap; }
.transparence[open] .plus { visibility: hidden; }
.transparence p { margin: 12px 0 2px 46px; color: #3c4859; line-height: 1.6; }
.transparence a { color: var(--bleu); text-decoration: underline; }
.contenu { font-size: 18.5px; line-height: 1.75; color: #1d2735; }
.contenu > p:first-child { font-size: 20px; }
.contenu p { margin: 0 0 1.15em; }
.contenu strong { color: var(--encre); }
.contenu h2 { font-size: clamp(23px, 2.6vw, 28px); font-weight: 800; line-height: 1.25; margin: 46px 0 14px; color: var(--encre); }
.contenu h2::before { content: ""; display: block; width: 36px; height: 4px; border-radius: 2px; background: var(--bleu); margin-bottom: 14px; }
.contenu h3 { font-size: 21px; font-weight: 700; margin: 32px 0 10px; }
.contenu a { color: var(--bleu); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.contenu a:hover { text-decoration-thickness: 2px; }
.contenu ul, .contenu ol { padding-left: 1.3em; margin: 0 0 1.2em; }
.contenu li { margin-bottom: .55em; }
.contenu li::marker { color: var(--bleu); }
.contenu img { height: auto; border-radius: 12px; }
.contenu blockquote { margin: 26px 0; padding: 4px 0 4px 22px; border-left: 4px solid var(--bleu); font: 500 19px/1.6 var(--body); color: var(--encre); background: none; }
.contenu blockquote p:last-child { margin-bottom: 0; }
.contenu .encadre-avis { background: #fbf5ea; border: 1px solid #efdfc3; border-radius: 16px; padding: 6px 26px 8px; margin: 40px 0; }
.contenu .encadre-avis h2 { margin-top: 22px; }
.contenu .encadre-avis h2::before { background: var(--torref); }
.contenu .sources { margin-top: 48px; padding: 20px 24px; background: var(--gris); border-radius: 14px; font-size: 15px; line-height: 1.6; }
.contenu .sources h2 { font: 600 13px var(--body); letter-spacing: .1em; text-transform: uppercase; color: var(--sourd); margin: 0 0 10px; }
.contenu .sources h2::before { display: none; }
.contenu .sources ul { margin: 0; padding-left: 1.1em; }
.contenu .sources li { margin-bottom: 6px; }
.contenu .sources a { color: #2c3a50; }
.contenu table { font-size: 16px; }
.fin-article { margin-top: 40px; padding-top: 26px; border-top: 1px solid var(--trait); }
.partager-titre { margin: 0; font-weight: 600; }
.fin-article .actions { margin-top: 14px; }
.auteur-boite { display: grid; grid-template-columns: 84px 1fr; gap: 20px; margin-top: 34px; padding: 24px; border: 1px solid var(--trait); border-radius: 16px; background: #fafbfc; }
.auteur-boite .photo { width: 84px; height: 84px; border-radius: 50%; overflow: hidden; display: block; }
.auteur-boite .photo img { width: 100%; height: 100%; object-fit: cover; }
.auteur-boite p { margin: 0 0 8px; color: #3c4859; font-size: 15.5px; line-height: 1.6; }
.auteur-boite .nom { font: 800 19px var(--display); color: var(--encre); margin-bottom: 2px; }
.auteur-boite .role { color: var(--sourd); font-size: 14px; margin-bottom: 10px; }
.auteur-boite .liens { display: flex; gap: 18px; flex-wrap: wrap; margin: 4px 0 0; }
.auteur-boite .liens a { color: var(--bleu); font-weight: 600; font-size: 14px; }
.grille.trois { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 620px) {
  .article-tete { padding-block: 26px 20px; }
  .article-tete .chapo { font-size: 18px; }
  .contenu { font-size: 17.5px; }
  .contenu > p:first-child { font-size: 18.5px; }
  .action span { font-size: 13.5px; }
  .transparence summary { align-items: flex-start; }
  .transparence .plus { display: none; }
  .transparence p { margin-left: 0; }
  .auteur-boite { grid-template-columns: 1fr; }
  .grille.trois { grid-template-columns: 1fr; }
  .contenu .encadre-avis { padding: 4px 18px 6px; }
}
/* Listes */
.liste-tete { background: var(--nuit); color: var(--blanc); padding-block: 44px; }
.liste-tete h1 { font-size: clamp(30px, 4vw, 44px); font-weight: 800; }
.liste-tete p { color: #c6cfdb; margin: 10px 0 0; max-width: 62ch; }
.pagination { display: flex; gap: 10px; justify-content: center; margin-top: 40px; flex-wrap: wrap; }
.pagination .page-numbers { padding: 8px 14px; border-radius: 999px; background: var(--blanc); border: 1px solid var(--trait); }
.pagination .current { background: var(--nuit); color: var(--blanc); }
.vide { color: var(--sourd); }
.page-simple .contenu { max-width: 780px; }
.marches ul { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 12px; }
.marches li { display: grid; gap: 4px; padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,.12); }
.une-main > a, .une-sec article > a, .carte > a, .regie li > a { display: block; }
a.ecran { text-decoration: none; }
.search-form { display: flex; gap: 8px; margin-top: 18px; flex-wrap: wrap; }
.search-form input[type=search] { flex: 1; min-width: 0; padding: 12px 14px; border-radius: 10px; border: 0; font: inherit; }
.search-form input[type=submit] { padding: 12px 18px; border-radius: 10px; border: 0; background: var(--bleu); color: #fff; font: 600 15px var(--texte, inherit); cursor: pointer; }
.signature-art .avatar img { width: 100%; height: 100%; object-fit: cover; }
.contenu figure.photo-apropos { float: right; margin: 6px 0 16px 24px; max-width: 220px; }
.contenu figure.photo-apropos img { border-radius: 14px; width: 100%; height: auto; }
@media (max-width: 600px) { .contenu figure.photo-apropos { float: none; margin: 0 0 16px; } }

/* Menu : une seule ligne sur ordinateur, bouton menu sur mobile */
nav.menu ul { flex-wrap: nowrap; gap: 20px; white-space: nowrap; }
.burger { display: none; background: none; border: 0; padding: 6px; color: var(--encre); cursor: pointer; }
@media (max-width: 1180px) { nav.menu ul { gap: 16px; } nav.menu { font-size: 14.5px; } }
@media (max-width: 980px) {
  .burger { display: inline-flex; }
  .head { flex-wrap: wrap; }
  nav.menu.ouvert { display: block; order: 3; flex-basis: 100%; padding: 6px 0 4px; }
  nav.menu.ouvert ul { flex-direction: column; gap: 0; }
  nav.menu.ouvert li a { display: block; padding: 12px 2px; border-top: 1px solid var(--trait); font-size: 16px; }
  .head-actions { margin-left: auto; }
}

/* Visuels générés (direction « Une de journal ») : pas de voile ni de surcouche */
.vig.a-image.auto::after { display: none; }

/* Sources préférées Google (accueil) */
.source-google { text-align: center; margin: -18px 0 32px; }
.source-google a { display: inline-flex; align-items: center; gap: 10px; background: var(--blanc); color: var(--encre); font-weight: 600; font-size: 15px; padding: 10px 20px; border-radius: 999px; }
.source-google a:hover { background: #eef2ff; }

/* Page auteur */
.auteur-tete .profil { display: grid; grid-template-columns: 132px 1fr; gap: 32px; align-items: center; }
.auteur-tete .photo { width: 132px; height: 132px; border-radius: 50%; overflow: hidden; }
.auteur-tete .photo img { width: 100%; height: 100%; object-fit: cover; }
.auteur-tete .role { color: #9fb0c6; font-weight: 600; margin-top: 6px; }
.auteur-tete .liens { display: flex; flex-wrap: wrap; gap: 20px; }
.auteur-tete .liens a { color: var(--bleu-clair); font-weight: 600; }
.auteur-articles { font-size: 28px; margin-bottom: 24px; }
@media (max-width: 700px) {
  .auteur-tete .profil { grid-template-columns: 1fr; gap: 18px; }
  .auteur-tete .photo { width: 96px; height: 96px; }
}
