/*
Theme Name: Patience Numérique
Description: Le blog de patiencenumerique.fr. Même papier, mêmes polices, même accent que la landing (DESIGN.md du projet patience-numerique). Aucune dépendance.
Version: 1.0
Text Domain: patience
*/
:root{
  --bg:#F5F4F0; --paper:#FCFBF8; --ink:#2A2F35; --muted:#6A7078; --line:rgba(42,47,53,.10); --line-strong:rgba(42,47,53,.22); --shell:rgba(42,47,53,.05);
  --accent:#B5533C; --accent-deep:#9A4330; --accent-tint:#F3E4DF;
  --display:"Libre Caslon Display","Libre Caslon Text",Georgia,serif; --serif:"Libre Caslon Text",Georgia,serif; --sans:"Albert Sans","Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.32,.72,0,1); --r-out:28px; --r-in:22px;
  --lecture:680px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px;transition:color .4s var(--ease)}
a:hover{color:var(--accent-deep)}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
.grain{position:fixed;inset:0;pointer-events:none;z-index:40;opacity:.035;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .6 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");background-size:160px 160px}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.lecture{max-width:var(--lecture);margin:0 auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.skip{position:absolute;left:16px;top:-60px;z-index:60;background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;text-decoration:none}
.skip:focus{top:16px}

/* Nav : copie de la landing */
.navwrap{position:sticky;top:0;z-index:30;display:flex;justify-content:center;padding:20px 16px 0}
.nav{display:flex;align-items:center;gap:28px;background:rgba(252,251,248,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:999px;padding:8px 8px 8px 22px;height:60px}
.brand{font-family:var(--display);font-size:21px;text-decoration:none;letter-spacing:-0.005em;color:var(--ink)}
.nav a.link{text-decoration:none;font-size:15px;font-weight:500;color:var(--muted);transition:color .4s var(--ease)}
.nav a.link:hover,.nav a.link[aria-current]{color:var(--ink)}
.pill{display:inline-flex;align-items:center;gap:12px;background:var(--ink);color:#fff;text-decoration:none;border-radius:999px;padding:6px 6px 6px 22px;font-size:16px;font-weight:600;line-height:1;transition:transform .5s var(--ease),background .5s var(--ease)}
.pill .ic{width:36px;height:36px;border-radius:999px;background:rgba(255,255,255,.14);display:grid;place-items:center;transition:transform .5s var(--ease)}
.pill .ic svg{width:16px;height:16px}
.pill:hover{background:#1B1F24;color:#fff}
.pill:hover .ic{transform:translate(2px,-1px) scale(1.06)}
.pill:active{transform:scale(.98)}
.pill:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:999px}
.pill.accent{background:var(--accent)}
.pill.accent:hover{background:var(--accent-deep)}
.nav .court{display:none}
@media (max-width:760px){
  .nav{gap:14px;height:56px;padding-left:18px}
  .nav a.link{display:none}
  .nav .long{display:none}.nav .court{display:inline}
}

/* Fil d'Ariane */
.ariane{font-size:15px;color:var(--muted);margin:56px 0 20px}
.ariane a{color:var(--muted);text-decoration:none}
.ariane a:hover{color:var(--ink);text-decoration:underline}
.ariane .sep{margin:0 8px;opacity:.6}

/* Titres */
h1,.h1{font-family:var(--display);font-weight:400;font-size:clamp(42px,5.4vw,64px);line-height:1.06;letter-spacing:-0.015em;margin:0 0 20px;text-wrap:balance}
h1 em,.h1 em,h2 em{font-family:var(--serif);font-style:italic;color:var(--accent)}
.lede{font-size:19px;line-height:1.65;color:var(--muted);margin:0 0 16px}
.meta{font-size:15px;color:var(--muted);margin:0 0 48px}

/* Contenu d'article */
.contenu{font-size:18px}
.contenu>*{max-width:var(--lecture);margin-left:auto;margin-right:auto}
.contenu p,.contenu ul,.contenu ol{margin-top:0;margin-bottom:24px}
.contenu li{margin-bottom:8px}
.contenu h2{font-family:var(--display);font-weight:400;font-size:clamp(30px,3.4vw,40px);line-height:1.12;letter-spacing:-0.01em;margin-top:64px;margin-bottom:20px}
.contenu h3{font-family:var(--sans);font-weight:600;font-size:22px;line-height:1.3;margin-top:40px;margin-bottom:12px}
.contenu strong{font-weight:600}
.contenu kbd{font-family:var(--sans);font-size:15px;font-weight:600;background:var(--paper);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:6px;padding:2px 8px;white-space:nowrap}
.contenu figure{margin-top:32px;margin-bottom:32px}
.contenu figcaption{font-size:15px;color:var(--muted);margin-top:12px;line-height:1.5}
.contenu hr{border:0;border-top:1px solid var(--line);margin:48px auto}

/* Double bord (DESIGN.md) */
.cadre,.contenu .wp-block-image,.pn-maquette{background:var(--shell);border:1px solid var(--line);border-radius:var(--r-out);padding:6px}
.cadre>.coeur,.contenu .wp-block-image img,.pn-maquette img{background:var(--paper);border-radius:var(--r-in);box-shadow:inset 0 1px 1px rgba(255,255,255,.6)}
.contenu .wp-block-image figcaption,.pn-maquette figcaption{padding:0 16px 10px}

/* Quelle version avez-vous ? */
.pn-version{background:var(--shell);border:1px solid var(--line);border-radius:var(--r-out);padding:6px;margin-bottom:40px!important}
.pn-version>.coeur,.pn-version .wp-block-group__inner-container{background:var(--paper);border-radius:var(--r-in);padding:24px 28px}
.pn-version .pn-titre{font-family:var(--serif);font-size:20px;margin:0 0 8px}
.pn-version p{font-size:17px;color:var(--muted);margin:0 0 16px}
.pn-version ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.pn-version li{margin:0}
.pn-version li a{display:inline-flex;align-items:center;min-height:48px;padding:0 20px;border:1px solid var(--line-strong);border-radius:999px;text-decoration:none;font-weight:600;font-size:16px;transition:border-color .4s var(--ease),background .4s var(--ease)}
.pn-version li a:hover{border-color:var(--accent);background:var(--accent-tint);color:var(--ink)}

/* Étapes numérotées */
.pn-etapes{counter-reset:etape;padding:0;list-style:none}
.pn-etape{counter-increment:etape;position:relative;padding-top:8px;margin-top:56px!important}
/* Numéro en marge, pas en flex : un titre flex ne passe plus à la ligne (chaque <kbd> devient un bloc) */
.pn-etape>h3:first-child,.pn-etape .wp-block-group__inner-container>h3:first-child{margin-top:0;position:relative;padding-left:52px}
.pn-etape>h3:first-child::before,.pn-etape .wp-block-group__inner-container>h3:first-child::before{content:counter(etape);position:absolute;left:0;top:-10px;font-family:var(--display);font-weight:400;font-size:48px;line-height:1;color:var(--accent)}

/* Encadrés */
.pn-coince,.pn-mot{border-radius:var(--r-in);padding:22px 26px;margin-top:24px!important;margin-bottom:32px!important}
.pn-coince{background:var(--accent-tint)}
.pn-coince>:last-child,.pn-mot>:last-child{margin-bottom:0}
.pn-coince .pn-titre{font-weight:600;margin:0 0 8px}
.pn-mot{background:var(--paper);border:1px solid var(--line)}
.pn-mot .pn-terme{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:20px;margin:0 0 6px}

/* L'assistant, au milieu du tuto, juste après l'étape où l'on coince : un lien, pas un second bouton accent */
.pn-assistant{background:var(--shell);border:1px solid var(--line);border-radius:var(--r-out);padding:6px;margin-top:32px!important;margin-bottom:40px!important}
.pn-assistant>.coeur{background:var(--paper);border-radius:var(--r-in);padding:24px 28px;box-shadow:inset 0 1px 1px rgba(255,255,255,.6)}
.pn-assistant .pn-titre{font-family:var(--serif);font-size:20px;margin:0 0 8px}
.pn-assistant p{margin:0 0 12px}
.pn-assistant p:last-child{margin:0}
.pn-assistant .pn-lien{font-weight:600;text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:2px;transition:color .4s var(--ease)}
.pn-assistant .pn-lien::after{content:" →";color:var(--accent)}
.pn-assistant .pn-note{display:block;font-size:15px;color:var(--muted);margin-top:8px}

/* Encadré d'essai en fin d'article */
.pn-essai{background:var(--shell);border:1px solid var(--line);border-radius:var(--r-out);padding:6px;margin:72px auto 0;max-width:var(--lecture)}
.pn-essai .coeur{background:var(--accent-tint);border-radius:var(--r-in);padding:36px 40px}
.pn-essai h2{font-family:var(--display);font-weight:400;font-size:clamp(28px,3vw,36px);line-height:1.15;margin:0 0 12px}
.pn-essai p{margin:0 0 24px;color:var(--ink)}
.pn-essai .aide{font-size:15px;color:var(--muted);margin:16px 0 0}

/* Liste d'articles (accueil du blog, archives, « dans le même guide ») */
.liste{list-style:none;padding:0;margin:0}
.liste li{border-top:1px solid var(--line);padding:28px 0}
.liste li:last-child{border-bottom:1px solid var(--line)}
.liste a.titre{font-family:var(--serif);font-size:26px;line-height:1.25;text-decoration:none;color:var(--ink)}
.liste a.titre:hover{color:var(--accent-deep)}
.liste p{color:var(--muted);font-size:17px;margin:8px 0 0}
.liste .pilier{font-size:14px;font-weight:600;color:var(--accent);margin:0 0 6px}
.section{padding:72px 0}
.section h2{font-family:var(--display);font-weight:400;font-size:clamp(30px,3.4vw,40px);line-height:1.12;margin:0 0 28px}
.guides{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px;list-style:none;padding:0;margin:0}
.guides li{border-top:1px solid var(--line);padding:22px 0}
.guides a{font-family:var(--serif);font-size:22px;text-decoration:none}
.guides span{display:block;color:var(--muted);font-size:16px;margin-top:4px}
@media (max-width:760px){.guides{grid-template-columns:1fr}}

.pagination{display:flex;gap:16px;justify-content:space-between;margin-top:40px;font-weight:600}
.pagination a{text-decoration:none}

/* Pied de page : copie de la landing */
footer.pied{padding:56px 0 72px;color:var(--muted);font-size:15px;margin-top:96px}
footer.pied .row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;border-top:1px solid var(--line);padding-top:28px}
footer.pied a{color:var(--muted);text-decoration:none}
footer.pied a:hover{color:var(--ink);text-decoration:underline}

@media (max-width:600px){
  .wrap{padding:0 20px}
  /* Maquettes : lisibles sur mobile en les gardant grandes et en les faisant défiler, centrées sur la zone entourée */
  .pn-maquette .defile{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r-in)}
  .pn-maquette .defile img{width:560px;max-width:none}
  .ariane{margin-top:40px}
  .pn-essai .coeur{padding:28px 24px}
  .pn-assistant>.coeur{padding:20px}
  .pn-version>.coeur,.pn-version .wp-block-group__inner-container{padding:20px}
  .pn-etape>h3:first-child,.pn-etape .wp-block-group__inner-container>h3:first-child{padding-left:40px}
  .pn-etape>h3:first-child::before,.pn-etape .wp-block-group__inner-container>h3:first-child::before{font-size:40px;top:-6px}
  .liste a.titre{font-size:23px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Récit sponsorisé (page-recit.php) : un article de magazine, pas une landing */
.recit .pub{font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin:56px 0 24px;padding-bottom:12px;border-bottom:1px solid var(--line-strong)}
.recit h1{font-family:var(--serif);font-weight:700;font-size:clamp(34px,4.2vw,50px);line-height:1.12;letter-spacing:-0.01em}
/* Lecteurs de 55-75 ans : corps plus gros, chapô en encre (swipe tunnels du 05/10, aucune page qui convertit n'a un corps gris) */
.recit .lede{color:var(--ink);font-size:20px}
.recit .contenu{font-size:19px;line-height:1.65}
.recit .contenu ol{padding-left:1.4em}
.recit .contenu ol li{margin-bottom:12px}
.recit .contenu .wp-block-image{margin:32px auto 40px}
.recit .contenu .wp-block-image figcaption{padding:10px 16px 6px}
.recit .contenu h2{font-size:clamp(26px,3vw,32px);margin-top:56px}
.recit .navwrap .nav,.page-template-page-recit .nav{justify-content:space-between;padding-right:22px}
.recit .contenu p.replique{margin-bottom:8px}
.recit .contenu p.replique+p:not(.replique){margin-top:24px}
.recit .ps{font-style:italic;color:var(--muted);margin-top:40px;margin-bottom:0}
.pn-essai .court{display:none}
@media (max-width:600px){.pn-essai .long{display:none}.pn-essai .court{display:inline}}

/* Article sponsorisé au format presse (page-article.php) : bandeau daté, colonne serif, angles droits */
.bandeau{max-width:calc(var(--lecture) + 56px);margin:0 auto;padding:16px 28px 0}
.bandeau-haut{display:flex;justify-content:space-between;gap:16px;font-size:14px;color:var(--muted);padding-bottom:12px;border-bottom:1px solid var(--line-strong)}
.bandeau-titre{display:block;text-align:center;font-family:var(--display);font-size:clamp(32px,4vw,44px);line-height:1;letter-spacing:-0.01em;color:var(--ink);text-decoration:none;padding:20px 0 16px;border-bottom:4px double var(--ink)}
.presse .rubrique{font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:40px 0 16px}
.presse .rubrique span{color:var(--muted);margin:0 4px}
.presse h1{font-family:var(--serif);font-weight:700;font-size:clamp(32px,4vw,46px);line-height:1.14;letter-spacing:-0.01em;margin:0 0 24px}
.presse .chapo{font-family:var(--sans);font-weight:600;font-size:20px;line-height:1.55;margin:0 0 24px}
.presse .signature{font-size:15px;color:var(--muted);margin:0 0 32px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.presse .signature span{margin:0 6px}
.presse .contenu{font-family:var(--serif);font-size:19px;line-height:1.7}
.presse .contenu>p:first-of-type::first-letter{float:left;font-family:var(--display);font-size:64px;line-height:.9;padding:6px 8px 0 0;color:var(--ink)}
.presse .contenu h2{font-family:var(--sans);font-weight:700;font-size:22px;line-height:1.3;margin:48px 0 12px}
.presse .contenu ol{padding-left:1.4em}
.presse .contenu ol li{margin-bottom:8px}
.presse .contenu ol li::marker{font-family:var(--sans);font-weight:700;color:var(--accent)}
.presse .contenu figure{margin:0 0 32px}
.presse .contenu figure img{width:100%;border:1px solid var(--line)}
.presse .contenu figcaption{font-family:var(--sans);font-size:15px;line-height:1.5;color:var(--muted);padding-top:8px}
.presse .contenu table{width:100%;border-collapse:collapse;margin:24px 0 8px;font-size:17px;line-height:1.5;border-top:2px solid var(--ink);border-bottom:1px solid var(--line-strong)}
.presse .contenu th{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-align:left;padding:12px 16px 8px 0}
.presse .contenu td{padding:12px 16px 12px 0;border-top:1px solid var(--line);vertical-align:top}
.presse .contenu td:first-child{font-weight:700;width:45%}
.presse .encadre{margin:48px 0 0;background:var(--paper);border-top:4px solid var(--ink);padding:28px 32px 32px;font-family:var(--sans);font-size:18px;line-height:1.6}
.presse .encadre h2{margin:0 0 12px;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.presse .encadre p{margin:0 0 16px}
.presse .encadre .pill{margin-top:8px}
/* .court avant la media query pour qu'elle l'emporte */
.presse .encadre .court{display:none}
@media (max-width:600px){
  .bandeau{padding:12px 20px 0}
  .presse h1{font-size:28px;line-height:1.18}
  .presse .chapo{font-size:18px}
  .bandeau-haut span:first-child{display:none}
  .bandeau-haut{justify-content:center}
  .presse .contenu td:first-child{width:40%}
  .presse .contenu table{font-size:16px}
  .presse .encadre{padding:24px 20px 28px}
  .presse .encadre .long{display:none}.presse .encadre .court{display:inline}
}
