/* Composant de recherche transverse réutilisable (.qsearch + suggestions .qdrop) */
.qsearch{position:relative}
.qsearch .fs{position:relative}
.qsearch .fs svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:15px;height:15px;stroke:var(--gris);fill:none;stroke-width:2}
.qsearch input{width:100%;height:40px;border:1px solid var(--ligne);border-radius:999px;padding:0 14px 0 34px;font:inherit;font-size:13.5px;outline:none;color:var(--encre);background:#fff;-webkit-appearance:none;appearance:none}
.qsearch input::-webkit-search-decoration,.qsearch input::-webkit-search-cancel-button{-webkit-appearance:none}
.qsearch input:focus{border-color:var(--bleu)}
.qdrop{margin-top:8px}
.qdrop:not(.show){display:none}
.qdrop.show{border:1px solid var(--ligne);border-radius:12px;overflow:hidden;background:#fff}
.qgrp{padding:10px 12px 4px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--bleu);border-top:1px solid var(--ligne)}
.qdrop>.qgrp:first-child{border-top:none}
.qrow{display:block;padding:9px 12px;font-size:13px;color:var(--encre)}
.qrow:hover{background:#EEF0FF}
.qrow .qa{color:var(--gris);font-size:12px}

/* ===== Pied de page complet (newsletter + colonnes + barre) ===== */
footer.site .foot{display:grid;grid-template-columns:1.55fr 1fr 1fr;gap:48px;padding-top:42px;padding-bottom:28px}
footer.site .nl h3{font-family:var(--serif);font-weight:600;font-size:26px;line-height:1.1;color:#fff}
footer.site .nl p{margin-top:8px;color:#c7c9d6;font-size:14px;max-width:420px}
footer.site .nlform{margin-top:16px;display:flex;gap:10px;max-width:440px;flex-wrap:wrap}
footer.site .nlform input{flex:1;min-width:180px;height:46px;border:none;border-radius:999px;padding:0 18px;font:inherit;font-size:14px;outline:none;color:var(--encre)}
footer.site .nlform button{flex:none;height:46px;border:none;border-radius:999px;background:var(--jaune);color:#1b1b22;font:inherit;font-weight:800;font-size:14px;padding:0 22px;cursor:pointer}
footer.site .nl .micro{margin-top:10px;font-size:11.5px;color:#8c8ea3;max-width:420px}
footer.site .nl .micro a{color:#c7c9d6;text-decoration:underline}
footer.site .fcols{display:contents}
footer.site .fcol h4{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8c8ea3;margin-bottom:10px}
footer.site .fcol a{display:block;color:#e7e8f0;font-size:13.5px;font-weight:300;padding:5px 0}
footer.site .fcol a:hover{color:#fff}
footer.site .fbar{border-top:1px solid rgba(255,255,255,.12)}
footer.site .fbar .wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px;font-size:12.5px;color:#9b9bb0}
footer.site .fbar .fsoc{display:flex;gap:7px}
footer.site .fbar .fsoc a{width:26px;height:26px;border-radius:7px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;color:#c7c9d6}
footer.site .fbar .fsoc a:hover{background:var(--jaune);color:#1b1b22}
footer.site .fbar .flinks{margin-left:auto;display:flex;gap:14px}
footer.site .fbar .flinks a{color:#c7c9d6}
footer.site .fbar .flinks a:hover{color:#fff}
@media(max-width:900px){footer.site .foot{grid-template-columns:1fr 1fr;gap:24px 36px}footer.site .nl{grid-column:1 / -1}}
@media(max-width:760px){footer.site .fbar .flinks{margin-left:0}}

/* ===== Impression : marque + contenu seuls (ni sidebar, ni pub, ni navigation) ===== */
@media print {
  nav.main, .hright, .cta, .tsbtn, .burger, .tspanel,
  footer.site, .bc, .actions, aside.side, .sn, .sec,
  .ad, .side-ad, .inflow-ad, ins.adsbygoogle, .apager, .demobar { display: none !important; }

  /* Header conservé pour la marque (bandeau fin, fond imprimé) */
  header.site { position: static !important; box-shadow: none !important;
    -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  header.site .wrap { height: auto !important; padding: 9px 16px !important; }
  header.site .logo img { height: 26px !important; width: auto !important; }

  /* Contenu en pleine largeur, sans carte ni grille */
  body { background: #fff !important; }
  .wrap, .wrap.page, .page { display: block !important; max-width: none !important; width: auto !important; margin: 0 !important; padding: 0 18px !important; }
  main, .acol { display: block !important; width: auto !important; max-width: none !important; }
  main, main.panel, .panel, .panel.art, article, .read, .acol {
    box-shadow: none !important; border: none !important; background: #fff !important;
    margin: 0 !important; padding: 0 !important; max-width: none !important; width: auto !important; }

  /* Hero d'article linéarisé (pas de bandeau coloré ni de hauteur réservée) */
  .feat { min-height: 0 !important; display: block !important; border-radius: 0 !important;
    padding: 0 !important; margin: 14px 0 0 !important; background: none !important; }
  .feat::after { display: none !important; }
  .feat .badge { background: none !important; color: #000 !important; padding: 0 !important; }
  .feat h1 { font-size: 30pt !important; margin: 6px 0 !important; max-width: none !important; }

  /* Lisibilité noir sur blanc */
  .feat, .feat *, h1, h2, h3, h4, p, .verse, .meta, .lead, .read, article, a { color: #000 !important; }
  .tchip, .cat { background: none !important; color: #000 !important; border-color: #bbb !important; }
  a { text-decoration: none !important; }

  /* Coupures de page propres */
  .verse { page-break-inside: auto; }
  h1, h2, h3 { page-break-after: avoid; }
  img { max-width: 100% !important; }
}
