/*
Theme Name: Birdpilot
Theme URI: https://birdpilot-media.com
Author: OmniLearnConsultingCommerce LLC
Description: Theme editorial pour Birdpilot. Aucune police distante, aucun script tiers par defaut.
Version: 1.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: birdpilot
*/

:root{
  --encre:#141210;
  --encre-doux:#4a443d;
  --papier:#faf8f4;
  --papier-creuse:#f2eee6;
  --rouille:#c0491a;
  --rouille-clair:#e8683a;
  --trait:#e0d9cd;
  --largeur:1180px;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--papier);color:var(--encre);
  font-family:var(--sans);font-size:1.0625rem;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.15;margin:0 0 .5em;letter-spacing:-.015em}
h1{font-size:clamp(2rem,5vw,3.1rem)}
h2{font-size:clamp(1.4rem,3vw,2rem)}
h3{font-size:1.2rem}
p{margin:0 0 1.15em}

.enveloppe{max-width:var(--largeur);margin:0 auto;padding:0 20px}
.saut{position:absolute;left:-9999px}
.saut:focus{left:12px;top:12px;position:fixed;z-index:99;background:var(--encre);color:var(--papier);padding:10px 16px;border-radius:4px}

.bandeau{border-bottom:1px solid var(--trait);background:var(--papier);position:sticky;top:0;z-index:40}
.bandeau__interieur{display:flex;align-items:center;gap:24px;height:64px}
.marque{font-family:var(--serif);font-size:1.35rem;font-weight:700;text-decoration:none;letter-spacing:-.03em;white-space:nowrap}
.marque span{color:var(--rouille)}
.nav{display:flex;gap:20px;margin-left:auto;align-items:center}
.nav a{text-decoration:none;font-size:.92rem;color:var(--encre-doux);padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav .current-menu-item a{color:var(--encre);border-bottom-color:var(--rouille)}
.bouton-nav{background:var(--encre);color:var(--papier)!important;padding:9px 16px!important;border-radius:999px;font-weight:600;border:0!important}
.bouton-nav:hover{background:var(--rouille)}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--trait);border-radius:6px;padding:8px 10px;font-size:.9rem;cursor:pointer}

.une{padding:44px 0 30px;border-bottom:1px solid var(--trait)}
.une__grille{display:grid;grid-template-columns:1.55fr 1fr;gap:44px}
.une__titre{font-size:clamp(1.9rem,4.2vw,2.9rem);margin-bottom:.35em}
.une__titre a{text-decoration:none}
.une__titre a:hover{color:var(--rouille)}
.chapo{font-size:1.12rem;color:var(--encre-doux);max-width:56ch}
.cote{display:flex;flex-direction:column;gap:20px}
.cote__titre{font-family:var(--sans);font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;color:var(--rouille);margin:0 0 4px}

.meta{font-size:.78rem;color:var(--encre-doux);display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.meta a{text-decoration:none;color:var(--rouille);font-weight:600}

.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:36px 32px;padding:38px 0}
.carte{display:flex;flex-direction:column}
.carte__image{aspect-ratio:16/10;overflow:hidden;border-radius:8px;background:var(--papier-creuse);margin-bottom:14px}
.carte__image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.carte:hover .carte__image img{transform:scale(1.035)}
.carte__titre{font-size:1.22rem;margin-bottom:.35em}
.carte__titre a{text-decoration:none}
.carte__titre a:hover{color:var(--rouille)}
.carte__extrait{font-size:.94rem;color:var(--encre-doux);margin:0}
.carte--mince .carte__image{display:none}
.carte--mince{padding-bottom:18px;border-bottom:1px solid var(--trait)}
.carte--mince:last-child{border-bottom:0}
.carte--mince .carte__titre{font-size:1.03rem}

.section-titre{display:flex;align-items:baseline;gap:14px;border-bottom:2px solid var(--encre);padding-bottom:8px;margin-top:8px}
.section-titre h2{margin:0;font-size:1.35rem}
.section-titre a{margin-left:auto;font-size:.85rem;color:var(--rouille);text-decoration:none;font-weight:600}

.article{max-width:720px;margin:0 auto;padding:46px 0 20px}
.article__entete{margin-bottom:30px}
.article__contenu{font-size:1.12rem;line-height:1.72}
.article__contenu h2{margin-top:1.7em}
.article__contenu h3{margin-top:1.5em;font-family:var(--sans);font-weight:700}
.article__contenu a{color:var(--rouille);text-underline-offset:3px}
.article__contenu blockquote{margin:1.8em 0;padding-left:22px;border-left:3px solid var(--rouille);font-family:var(--serif);font-size:1.22rem;color:var(--encre-doux)}
.article__contenu ul,.article__contenu ol{padding-left:22px}
.article__contenu li{margin-bottom:.5em}
.article__contenu figure{margin:1.8em 0}
.article__contenu figcaption{font-size:.83rem;color:var(--encre-doux);margin-top:8px}
.article__contenu code{background:var(--papier-creuse);padding:2px 6px;border-radius:4px;font-size:.9em}
.article__contenu pre{background:var(--encre);color:#f0ece4;padding:18px;border-radius:8px;overflow-x:auto;font-size:.88rem}
.article__contenu pre code{background:none;padding:0;color:inherit}
.article__image{margin-bottom:28px;border-radius:10px;overflow:hidden}

.etiquettes{display:flex;gap:8px;flex-wrap:wrap;margin:34px 0}
.etiquette{font-size:.78rem;background:var(--papier-creuse);border:1px solid var(--trait);padding:5px 12px;border-radius:999px;text-decoration:none;color:var(--encre-doux)}
.etiquette:hover{border-color:var(--rouille);color:var(--rouille)}

.capture{background:var(--encre);color:var(--papier);border-radius:12px;padding:32px;margin:40px 0}
.capture h3,.capture__titre{color:var(--papier);font-size:1.45rem;margin-bottom:.3em}
.capture p{color:#c8c1b6;font-size:.97rem;max-width:48ch}
.capture form,.capture__form{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.capture input[type=email]{flex:1 1 240px;padding:13px 16px;border:0;border-radius:8px;font-size:1rem;font-family:inherit}
.capture button{background:var(--rouille);color:#fff;border:0;border-radius:8px;padding:13px 24px;font-size:1rem;font-weight:600;cursor:pointer;font-family:inherit}
.capture button:hover{background:var(--rouille-clair)}
.capture small,.capture__mention{display:block;margin-top:12px;color:#948d83;font-size:.78rem}
.capture--mince{padding:24px;margin:34px 0}
.capture--corps{padding:26px 28px;margin:38px 0;border-radius:10px}
.capture--corps .capture__titre{font-size:1.2rem}
.capture--corps p{font-size:.93rem}
.capture__reponse{margin-top:14px;font-size:.95rem}
.capture__pot{position:absolute;left:-9999px}

.sponsor{border:1px solid var(--trait);border-radius:10px;padding:20px;background:#fff}
.sponsor__mention{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:#9a9287;margin-bottom:10px}
.sponsor__titre{font-family:var(--serif);font-size:1.1rem;margin:0 0 6px}
.sponsor__texte{font-size:.9rem;color:var(--encre-doux);margin:0 0 12px}
.sponsor__lien{font-size:.88rem;font-weight:600;color:var(--rouille);text-decoration:none}
.sponsor--corps{margin:36px 0;display:flex;gap:18px;align-items:flex-start}
.sponsor--corps img{width:96px;border-radius:8px;flex:0 0 auto}

.cours{border:1px solid var(--trait);border-left:4px solid var(--rouille);border-radius:8px;padding:22px;margin:38px 0;background:#fff}
.cours__mention{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;color:var(--rouille);font-weight:700;margin-bottom:8px}
.cours h4{font-family:var(--serif);font-size:1.2rem;margin:0 0 6px}
.cours p{font-size:.94rem;color:var(--encre-doux);margin:0 0 14px}
.cours a.bouton{display:inline-block;background:var(--encre);color:var(--papier);text-decoration:none;padding:10px 20px;border-radius:6px;font-size:.92rem;font-weight:600}
.cours a.bouton:hover{background:var(--rouille)}

.outils{border:1px solid var(--trait);border-radius:8px;padding:22px;margin:38px 0;background:var(--papier-creuse)}
.outils__mention{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;color:var(--encre-doux);font-weight:700;margin:0 0 14px}
.outils__liste{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.outils__item{background:#fff;border:1px solid var(--trait);border-radius:6px;padding:16px}
.outils__item h4{font-family:var(--serif);font-size:1.05rem;margin:0 0 5px}
.outils__item p{font-size:.9rem;color:var(--encre-doux);margin:0 0 12px}
.outils__lien{display:inline-block;border:1px solid var(--encre);color:var(--encre);text-decoration:none;padding:8px 16px;border-radius:6px;font-size:.88rem;font-weight:600;min-height:44px;line-height:26px;box-sizing:border-box}
.outils__lien:hover{background:var(--encre);color:var(--papier)}
.outils__note{font-size:.78rem;color:var(--encre-doux);margin:16px 0 0}
@media(min-width:700px){.outils__liste{grid-template-columns:repeat(2,1fr)}}

.pied{border-top:1px solid var(--trait);margin-top:60px;padding:46px 0 34px;background:var(--papier-creuse)}
.pied__grille{display:grid;grid-template-columns:2fr 1fr 1fr;gap:36px}
.pied h4{font-family:var(--sans);font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--encre-doux);margin-bottom:12px}
.pied ul{list-style:none;padding:0;margin:0}
.pied li{margin-bottom:8px}
.pied a{font-size:.92rem;color:var(--encre-doux);text-decoration:none}
.pied a:hover{color:var(--rouille)}
.pied__bas{border-top:1px solid var(--trait);margin-top:34px;padding-top:20px;font-size:.82rem;color:var(--encre-doux);display:flex;gap:16px;flex-wrap:wrap}

.pagination{display:flex;gap:8px;justify-content:center;padding:24px 0 8px}
.pagination .page-numbers{padding:8px 14px;border:1px solid var(--trait);border-radius:6px;text-decoration:none;font-size:.9rem}
.pagination .current{background:var(--encre);color:var(--papier);border-color:var(--encre)}

@media(max-width:860px){
  .une__grille{grid-template-columns:1fr;gap:32px}
  .pied__grille{grid-template-columns:1fr 1fr}
  .nav{position:absolute;top:64px;left:0;right:0;background:var(--papier);border-bottom:1px solid var(--trait);flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 16px;display:none}
  .nav.ouvert{display:flex}
  .nav a{padding:11px 0;border-bottom:1px solid var(--trait)}
  .bouton-nav{text-align:center;margin-top:10px}
  .burger{display:block}
  .sponsor--corps{flex-direction:column}
}
@media(max-width:520px){
  .pied__grille{grid-template-columns:1fr}
  .capture{padding:24px 20px}
}

/* Colonne de une : le digest du jour */
.jour{border-left:3px solid var(--rouille);padding-left:16px}
.jour__titre{font-size:1.12rem;margin:0 0 .4em}
.jour__titre a{text-decoration:none}
.jour__titre a:hover{color:var(--rouille)}
.jour__extrait{font-size:.92rem;color:var(--encre-doux);margin:0 0 10px}
.jour__lien{font-size:.84rem;font-weight:600;color:var(--rouille);text-decoration:none}
.jour__lien:hover{text-decoration:underline}

/* Atlas : une ligne par continent, index de presse plutot que grille de cartes */
.section-titre__note{margin-left:auto;font-size:.78rem;color:var(--encre-doux);letter-spacing:.04em}
.atlas{padding:6px 0 34px}
.atlas__ligne{display:grid;grid-template-columns:158px 1fr;gap:26px;padding:22px 0;border-bottom:1px solid var(--trait)}
.atlas__ligne:last-child{border-bottom:0}
.atlas__zone{
  font-family:var(--sans);font-size:.76rem;text-transform:uppercase;letter-spacing:.13em;
  color:var(--rouille);font-weight:700;text-decoration:none;padding-top:.35em
}
.atlas__zone:hover{color:var(--encre)}
.atlas__corps{min-width:0}
.atlas__titre{font-size:1.28rem;margin:0 0 .3em;max-width:62ch}
.atlas__titre a{text-decoration:none}
.atlas__titre a:hover{color:var(--rouille)}
.atlas__extrait{font-size:.95rem;color:var(--encre-doux);margin:0 0 8px;max-width:74ch}
.atlas__date{font-size:.78rem;color:#8d867b}
@media(max-width:700px){
  .atlas__ligne{grid-template-columns:1fr;gap:8px;padding:18px 0}
  .atlas__zone{padding-top:0}
  .atlas__titre{font-size:1.15rem}
}

/* Le fil : liens du jour, un bloc par entree */
.fil-chapeau{
  font-family:var(--sans);font-size:.92rem;color:var(--encre-doux);
  border-left:3px solid var(--rouille);padding-left:14px;margin:0 0 32px
}
.fil-titre{font-size:1.22rem;line-height:1.35;margin:0 0 4px}
.fil-titre a{color:var(--encre);text-decoration:none;border-bottom:2px solid var(--trait)}
.fil-titre a:hover{color:var(--rouille);border-bottom-color:var(--rouille-clair)}
.fil-titre a::after{content:" \2197";font-size:.75em;color:var(--encre-doux)}
.fil-source{
  font-family:var(--sans);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--rouille);margin:0 0 8px
}
.fil-extrait{color:var(--encre-doux);margin:0 0 34px;padding-bottom:22px;border-bottom:1px solid var(--trait)}

/* Tableaux d'indicateurs : lecture de colonne de chiffres, pas de carte */
.ind__cadre{
  overflow-x:auto;margin:0 0 34px;
  border-top:2px solid var(--encre);border-bottom:1px solid var(--trait)
}
.ind{
  width:100%;border-collapse:collapse;font-family:var(--sans);
  font-size:.88rem;font-variant-numeric:tabular-nums;min-width:520px
}
.ind--court{min-width:340px}
.ind thead th{
  font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;
  color:var(--encre-doux);text-align:right;padding:9px 0 9px 18px;
  border-bottom:1px solid var(--trait);white-space:nowrap
}
.ind thead th:first-child{text-align:left;padding-left:0}
.ind tbody th{
  text-align:left;font-weight:400;font-size:.92rem;padding:7px 18px 7px 0;
  color:var(--encre);white-space:nowrap
}
.ind tbody tr+tr th,.ind tbody tr+tr td{border-top:1px solid #ece6dc}
.ind tbody tr:hover th,.ind tbody tr:hover td{background:var(--papier-creuse)}
.ind__val{text-align:right;padding:7px 0 7px 18px;white-space:nowrap}
.ind__neg{color:var(--rouille)}
.ind__np{text-align:right;padding:7px 0 7px 18px;color:#a49c90;font-style:italic}
.ind__an{font-size:.72em;color:#8d867b;letter-spacing:.02em}
.ind__zone th,.ind__zone td{background:var(--papier-creuse);font-style:italic}
.ind__pied{
  font-family:var(--sans);font-size:.85rem;color:var(--encre-doux);
  border-top:1px solid var(--trait);padding-top:14px;margin-top:38px
}
@media(max-width:700px){
  /* Le tableau glisse sous le doigt, la page ne bouge pas : c'est a ca que sert le cadre. */
  .ind{font-size:.8rem}
  .ind thead th,.ind__val,.ind__np{padding-left:12px}
  .ind tbody th{padding-right:12px;white-space:normal;max-width:12ch}
}
