/*
 * Tremplin 1.0.0 (teinte Nuit) — Preparation Assessment. Préfixe trp-.
 * Polices auto-hébergées (SIL Open Font License 1.1) : Libertinus Serif (Philipp H. Poll, Khaled Hosny et contributeurs),
 * Blinker (Juergen Huber, SuperTypes). Sous-ensemble latin (Google Fonts).
 * Palette Nuit : bleu nuit #141F3E, pâle 1 #E6EAF5, pâle 2 #F4F6FB, filet #B2BAD2, encre #080F21, accent #89A6F5, blanc.
 * Images : rapport fixe (aspect-ratio) + object-fit: cover partout ; la hauteur d'une image ne dépend jamais du texte voisin.
 * Aucun arrondi, aucune pastille ronde.
 */
@font-face { font-family: "Libertinus Serif"; font-style: normal; font-weight: 400; font-display: swap; src: url(../polices/libertinus-serif-latin-400.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Libertinus Serif"; font-style: italic; font-weight: 400; font-display: swap; src: url(../polices/libertinus-serif-latin-400-italic.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Libertinus Serif"; font-style: normal; font-weight: 700; font-display: swap; src: url(../polices/libertinus-serif-latin-700.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Blinker"; font-style: normal; font-weight: 400; font-display: swap; src: url(../polices/blinker-latin-400.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Blinker"; font-style: normal; font-weight: 600; font-display: swap; src: url(../polices/blinker-latin-600.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Blinker"; font-style: normal; font-weight: 700; font-display: swap; src: url(../polices/blinker-latin-700.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --trp-nuit: #141F3E; --trp-pale1: #E6EAF5; --trp-pale2: #F4F6FB; --trp-filet: #B2BAD2; --trp-encre: #080F21;
  --trp-accent: #89A6F5; --trp-blanc: #fff;
  --trp-titres: "Libertinus Serif", Georgia, "Times New Roman", serif; --trp-texte: "Blinker", "Helvetica Neue", Arial, sans-serif;
  --trp-ligne: 70px; --trp-tete: 70px; --trp-large: 1280px; --trp-gouttiere: 28px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: calc(var(--trp-tete) + 16px); -webkit-text-size-adjust: 100%; }
body.trp { margin: 0; background: var(--trp-blanc); color: var(--trp-encre); font-family: var(--trp-texte); font-size: 18.5px; line-height: 1.55; overflow-x: hidden; }
.trp :where(img) { max-width: 100%; height: auto; display: block; }
.trp :where(a) { color: inherit; text-decoration: none; }
.trp :where(figure) { margin: 0; }
.trp :where(h1, h2, h3, h4) { font-family: var(--trp-titres); font-weight: 700; line-height: 1.12; margin: 0; color: inherit; overflow-wrap: break-word; }
.trp h1 em, .trp h2 em { font-weight: 400; font-style: italic; }
.trp-large { width: 100%; max-width: var(--trp-large); margin: 0 auto; padding: 0 var(--trp-gouttiere); }
.trp-etroit { max-width: 956px; }
.trp-masque { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.trp-evitement { position: absolute; left: -9999px; top: 0; z-index: 100; background: var(--trp-encre); color: #fff; padding: 10px 16px; }
.trp-evitement:focus { left: 12px; top: 12px; }
.trp a:focus-visible, .trp button:focus-visible, .trp input:focus-visible { outline: 3px solid var(--trp-accent); outline-offset: 2px; }

/* Bloc décalé : un aplat de couleur décalé en bas à droite, derrière la photo (jamais par-dessus) */
.trp-decale { position: relative; display: block; padding: 0 18px 18px 0; }
.trp-decale::before { content: ""; position: absolute; left: 18px; top: 18px; right: 0; bottom: 0; background: var(--trp-pale1); }
.trp-decale > img { position: relative; width: 100%; object-fit: cover; }
.trp-decale--nuit::before { background: var(--trp-nuit); }
.trp-decale--blanc::before { background: var(--trp-blanc); }

/* ---------- En-tête blanc collant, une ligne ---------- */
.trp-tete { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid var(--trp-encre); }
.trp-tete__ligne { height: var(--trp-ligne); display: flex; align-items: center; gap: 30px; }
.trp-tete__marque { display: flex; align-items: center; flex: none; }
.trp .trp-logo { height: 37px; width: auto; max-width: none; }
.trp-logo--texte { font-family: var(--trp-titres); font-weight: 700; font-size: 22px; line-height: 37px; color: var(--trp-nuit); white-space: nowrap; }
.trp-menu { margin-left: auto; height: 100%; }
.trp-menu__liste { display: flex; gap: 30px; list-style: none; margin: 0; padding: 0; height: 100%; }
.trp-menu a { display: flex; align-items: center; height: 100%; padding-top: 4px; border-bottom: 4px solid transparent; font-size: 17px; font-weight: 600; white-space: nowrap; }
.trp-menu a:hover { color: var(--trp-nuit); border-bottom-color: var(--trp-filet); }
.trp-menu a[aria-current] { color: var(--trp-nuit); border-bottom-color: var(--trp-nuit); }
.trp-menu__long { display: none; }
.trp-tete__loupe, .trp-tete__burger { width: 44px; height: 44px; display: grid; place-items: center; flex: none; padding: 0; background: #fff; color: var(--trp-encre); border: 1.5px solid var(--trp-encre); border-radius: 0; cursor: pointer; }
.trp-tete__loupe[aria-expanded="true"] { background: var(--trp-nuit); color: #fff; border-color: var(--trp-nuit); }
.trp-tete__burger { display: none; border-color: transparent; }
.trp-cherche { border-top: 1px solid var(--trp-filet); background: var(--trp-pale2); padding: 16px 0; }
.trp-forme { display: flex; gap: 0; }
.trp-forme input { flex: 1; min-width: 0; font: inherit; font-size: 18px; padding: 12px 14px; border: 1.5px solid var(--trp-encre); border-right: 0; border-radius: 0; background: #fff; color: var(--trp-encre); }
.trp-forme button { font: inherit; font-weight: 700; font-size: 17px; padding: 12px 22px; border: 0; border-radius: 0; background: var(--trp-nuit); color: #fff; cursor: pointer; }
.trp-forme--page { max-width: 620px; margin-top: 26px; }

/* ---------- Boutons, titres de section, étiquettes ---------- */
.trp-bouton { display: inline-block; padding: 14px 24px; background: var(--trp-nuit); color: #fff !important; font-weight: 700; font-size: 17px; line-height: 1.2; white-space: nowrap; }
.trp-bouton:hover { background: var(--trp-encre); }
.trp-bouton--trait { background: #fff; color: var(--trp-encre) !important; box-shadow: inset 0 0 0 2px var(--trp-encre); }
.trp-bouton--trait:hover { background: var(--trp-pale2); }
.trp-bouton--clair { background: transparent; box-shadow: inset 0 0 0 2px #fff; }
.trp-bouton--clair:hover { background: #fff; color: var(--trp-nuit) !important; }
.trp-bloc { padding: 76px 0; }
.trp-bloc--serre { padding: 48px 0; }
.trp-fond--blanc { background: #fff; } .trp-fond--pale1 { background: var(--trp-pale1); } .trp-fond--pale2 { background: var(--trp-pale2); }
.trp-chapeau { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 22px; margin-bottom: 38px; }
.trp-chapeau p { margin: 0; font-size: 17px; max-width: 26em; }
.trp-titre { font-size: 46px; color: var(--trp-nuit); }
.trp-titre--moyen { font-size: 34px; }
.trp-tout { margin-left: auto; font-weight: 700; font-size: 17px; color: var(--trp-nuit); text-decoration: underline !important; text-underline-offset: 4px; }
.trp-sur { margin: 0; font-size: 15px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.trp-etiq { margin: 16px 0 6px; font-size: 13.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; line-height: 1.4; }
.trp-ariane { font-size: 15px; margin-bottom: 18px; }
.trp-ariane a { text-decoration: underline !important; text-underline-offset: 3px; }

/* ---------- Hero ---------- */
.trp-panorama { background: var(--trp-pale1); }
.trp-panorama__grille { height: calc(100svh - var(--trp-tete) - 90px); min-height: 540px; max-height: 820px; padding-top: 44px; padding-bottom: 48px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); gap: 60px; }
.trp-panorama__texte { align-self: center; border-left: 4px solid var(--trp-nuit); padding: 6px 0 6px 34px; }
.trp-panorama__sur { margin: 0; font-size: 16px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.trp-panorama__titre { text-wrap: balance; font-size: clamp(40px, 4.2vw, 60px); color: var(--trp-nuit); margin: 18px 0 20px !important; letter-spacing: -.015em; }
.trp-panorama__chapo { margin: 0 0 30px; font-size: 20px; max-width: 30em; }
.trp-panorama__boutons { display: flex; gap: 14px; flex-wrap: nowrap; }
.trp-panorama__photo { position: relative; height: 100%; padding: 0 24px 24px 0; }
.trp-panorama__photo::before { content: ""; position: absolute; left: 24px; top: 24px; right: 0; bottom: 0; background: var(--trp-nuit); }
.trp .trp-panorama__photo img { position: relative; width: 100%; height: 100%; object-fit: cover; background: #fff; padding: 14px; }

/* ---------- Cartes d'article ---------- */
.trp-carte__image { display: block; }
.trp-carte__image img { width: 100%; height: auto; object-fit: cover; aspect-ratio: 16 / 9; }
.trp-carte__image--vide { aspect-ratio: 16 / 9; background: var(--trp-pale1); }
.trp-carte__titre { font-size: 22px; }
.trp-carte__titre a:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.trp-carte--une .trp-carte__image img, .trp-carte--une .trp-carte__image--vide { aspect-ratio: 4 / 3; }
.trp-carte--une .trp-carte__titre { font-size: 36px; }
.trp-carte__chapo { margin: 12px 0 0; font-size: 19px; }
.trp-carte--moy { display: grid; grid-template-columns: 44% minmax(0, 1fr); gap: 20px; align-items: start; }
.trp-carte--moy .trp-carte__image img, .trp-carte--moy .trp-carte__image--vide { aspect-ratio: 3 / 2; }
.trp-carte--moy .trp-etiq { margin-top: 0; }
.trp-carte--moy .trp-carte__titre { font-size: 22px; }
.trp-carte--biz { background: #fff; color: var(--trp-encre); }
.trp-carte--biz .trp-carte__image img, .trp-carte--biz .trp-carte__image--vide { aspect-ratio: 16 / 10; }
.trp-carte--biz .trp-carte__corps { padding: 4px 16px 20px; }
.trp-carte--biz .trp-carte__titre { font-size: 19px; }
.trp-grille { display: grid; gap: 34px; }
.trp-grille--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.trp-grille--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }

/* ---------- Accueil : sélection ---------- */
.trp-selection { display: grid; grid-template-columns: 7fr 5fr; gap: 52px; align-items: start; }
.trp-selection__cote { display: flex; flex-direction: column; gap: 30px; }
.trp-selection__bas { margin-top: 52px; padding-top: 34px; border-top: 1px solid var(--trp-filet); }

/* ---------- Accueil : cinq rubriques (tuiles à angles droits) ---------- */
.trp-rubs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; }
.trp-rub { display: block; }
.trp-rub__photo { padding: 0 10px 10px 0; }
.trp-rub__photo::before { left: 10px; top: 10px; }
.trp-rub__photo img { aspect-ratio: 3 / 4; }
.trp-rub__num { display: block; margin-top: 16px; font-family: var(--trp-titres); font-style: italic; font-size: 40px; line-height: 1; color: var(--trp-nuit); }
.trp-rub__nom { display: block; margin: 6px 0 4px; font-family: var(--trp-titres); font-weight: 700; font-size: 23px; line-height: 1.12; }
.trp-rub:hover .trp-rub__nom { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.trp-rub__nb { font-size: 16px; }

/* ---------- Accueil : bande bleu nuit ---------- */
.trp-nuit { background: var(--trp-nuit); color: #fff; }
.trp-nuit .trp-titre { color: #fff; }
.trp-nuit .trp-chapeau p { color: var(--trp-pale1); }
.trp-nuit__liens { display: flex; flex-wrap: wrap; gap: 14px; margin: 40px 0 0; }

/* ---------- Accueil : colonnes carrière ---------- */
.trp-colonnes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.trp-colonne__photo img { aspect-ratio: 16 / 9; }
.trp-colonne__titre { font-size: 30px; color: var(--trp-nuit); margin: 22px 0 6px !important; }
.trp-colonne__intro { margin: 0 0 12px; font-size: 16.5px; }
.trp-liste { list-style: none; margin: 0; padding: 0; counter-reset: trp-n; }
.trp-liste li { counter-increment: trp-n; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 8px; padding: 13px 0; border-top: 1px solid var(--trp-filet); font-family: var(--trp-titres); font-weight: 700; font-size: 19px; line-height: 1.2; }
.trp-liste li::before { content: counter(trp-n); font-style: italic; font-weight: 400; font-size: 26px; line-height: 1; color: var(--trp-nuit); }
.trp-liste a:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* ---------- Accueil : questions, magazine, rédactrice ---------- */
.trp-faq { list-style: none; margin: 0; padding: 0; counter-reset: trp-q; }
.trp-faq li { counter-increment: trp-q; display: grid; grid-template-columns: 70px minmax(0, 1fr); padding: 22px 0; border-top: 1px solid var(--trp-filet); }
.trp-faq li::before { content: counter(trp-q) "."; grid-row: span 2; font-family: var(--trp-titres); font-style: italic; font-size: 36px; line-height: 1; color: var(--trp-nuit); }
.trp-faq h3 { font-size: 25px; }
.trp-faq p { margin: 8px 0 0; grid-column: 2; }
.trp-magazine { margin-top: 56px; padding: 34px 38px; background: var(--trp-pale1); }
.trp-magazine .trp-titre { margin-bottom: 14px; font-size: 32px; }
.trp-magazine p { margin: 0 0 12px; }
.trp-redac { display: flex; gap: 16px; align-items: center; margin-top: 22px; }
.trp-redac__portrait { flex: none; width: 64px; height: 64px; }
.trp-redac p { margin: 0; }
.trp-redac__nom { display: block; font-family: var(--trp-titres); font-weight: 700; font-size: 21px; color: var(--trp-nuit); text-decoration: underline !important; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.trp-redac__bio { display: block; font-size: 16px; }
.trp-redac__portrait img.avatar, .trp-signature__portrait img.avatar, .trp-auteur-portrait img.avatar { width: 100%; height: 100%; max-width: none !important; object-fit: cover; border-radius: 0; }

/* ---------- Rubriques, recherche, auteur, pages ---------- */
.trp-rub-tete { background: var(--trp-pale1); padding: 44px 0 56px; }
.trp-rub-tete__grille { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 60px; align-items: center; }
.trp-rub-tete__grille--simple { grid-template-columns: minmax(0, 1fr); }
.trp-rub-tete__texte { border-left: 4px solid var(--trp-nuit); padding: 4px 0 4px 30px; }
.trp-rub-tete__titre { font-size: 54px; color: var(--trp-nuit); margin: 14px 0 16px !important; }
.trp-rub-tete__titre--moyen { font-size: 44px; margin-top: 4px !important; }
.trp-rub-tete__intro { margin: 0; font-size: 19.5px; max-width: 34em; }
.trp-rub-tete__nb { margin: 16px 0 0; font-size: 16px; font-weight: 600; }
.trp-rub-tete__photo img { aspect-ratio: 4 / 3; }
.trp-rub-tete__qui { display: flex; gap: 32px; align-items: center; }
.trp-auteur-portrait { flex: none; width: 150px; height: 150px; padding: 0 10px 10px 0; }
.trp-auteur-portrait::before { left: 10px; top: 10px; }
.trp-auteur-portrait__cadre { position: relative; display: block; width: 140px; height: 140px; }
.trp-perdu .trp-liens-rubs { margin-top: 30px; }
.trp-page__corps { padding-top: 44px; padding-bottom: 70px; }
.trp-liens-rubs { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
.trp-liens-rubs a { display: block; padding: 10px 16px; border: 1.5px solid var(--trp-nuit); color: var(--trp-nuit); font-weight: 600; font-size: 16.5px; background: #fff; }
.trp-liens-rubs a:hover { background: var(--trp-pale1); }
.trp-liens-rubs a[aria-current] { background: var(--trp-nuit); color: #fff; }
.trp-pages { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 46px; }
.trp-pages .page-numbers { display: inline-block; min-width: 44px; padding: 9px 13px; text-align: center; border: 1px solid var(--trp-filet); background: #fff; font-weight: 600; }
.trp-pages .current { background: var(--trp-nuit); border-color: var(--trp-nuit); color: #fff; }

/* ---------- Article ---------- */
.trp-art-tete { background: var(--trp-pale1); padding: 40px 0 52px; }
.trp-art-tete__texte { max-width: 920px; border-left: 4px solid var(--trp-nuit); padding: 4px 0 4px 30px; }
.trp-art-tete__titre { font-size: 46px; color: var(--trp-nuit); margin: 14px 0 22px !important; }
.trp-signature { display: flex; gap: 14px; align-items: center; }
.trp-signature__portrait { flex: none; width: 56px; height: 56px; }
.trp-signature p { margin: 0; font-size: 16px; display: flex; flex-wrap: wrap; column-gap: 0; }
.trp-signature p span + span::before { content: "·"; margin: 0 10px; }
.trp-signature a { font-weight: 700; color: var(--trp-nuit); text-decoration: underline !important; text-underline-offset: 3px; }
.trp-art-photo { padding-top: 44px; }
.trp-art-photo figure { max-width: 1018px; margin: 0 auto; }
.trp-art-photo img { aspect-ratio: 16 / 9; }
.trp-art-corps { padding-top: 44px; padding-bottom: 64px; }
.trp-texte { max-width: 760px; margin: 0 auto; font-size: 19px; line-height: 1.7; overflow-wrap: anywhere; }
.trp-texte > * + * { margin-top: 1.05em; }
.trp-texte p { margin-bottom: 0; }
.trp-texte h2 { font-size: 32px; color: var(--trp-nuit); margin-top: 1.7em; padding-left: 16px; border-left: 4px solid var(--trp-nuit); }
.trp-texte h3 { font-size: 24px; color: var(--trp-nuit); margin-top: 1.4em; }
.trp-texte h4 { font-size: 20px; margin-top: 1.2em; }
.trp-texte a { color: var(--trp-nuit); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; font-weight: 600; }
.trp-texte ul, .trp-texte ol { padding-left: 1.3em; }
.trp-texte li + li { margin-top: .35em; }
.trp-texte li::marker { color: var(--trp-nuit); }
.trp-texte blockquote { border-radius: 0; margin-left: 0; margin-right: 0; padding: 16px 22px; background: var(--trp-pale1); border-left: 4px solid var(--trp-nuit); }
.trp-texte img { margin-left: auto; margin-right: auto; }
.trp-texte figure, .trp-texte .wp-block-image { margin-left: 0; margin-right: 0; }
.trp-texte figcaption { font-size: 15px; margin-top: 6px; }
.trp-texte table { width: 100%; border-collapse: collapse; font-size: 16.5px; display: block; overflow-x: auto; }
.trp-texte .wp-block-table table { display: table; }
.trp-texte .wp-block-table { overflow-x: auto; }
.trp-texte th, .trp-texte td { border: 1px solid var(--trp-filet); padding: 9px 12px; text-align: left; vertical-align: top; }
.trp-texte th { background: var(--trp-nuit); color: #fff; font-weight: 700; }
.trp-texte tr:nth-child(even) td { background: var(--trp-pale2); }
.trp-texte details { background: var(--trp-pale2); border-left: 4px solid var(--trp-nuit); padding: 12px 18px; }
.trp-texte summary { font-weight: 700; cursor: pointer; }
/* Sommaire Easy TOC (contenu de l'article, non modifié) */
.trp-texte #ez-toc-container, .trp-texte .ez-toc-v2_0_17 { background: var(--trp-pale2) !important; border: 1px solid var(--trp-filet) !important; border-top: 4px solid var(--trp-nuit) !important; border-radius: 0 !important; padding: 16px 20px !important; box-shadow: none !important; width: 100% !important; }
.trp-texte .ez-toc-title { font-family: var(--trp-titres) !important; font-weight: 700 !important; color: var(--trp-nuit); }
.trp-texte #ez-toc-container a { color: var(--trp-encre) !important; text-decoration: none; font-weight: 400; }
.trp-texte #ez-toc-container a:hover { color: var(--trp-nuit) !important; text-decoration: underline; }
/* Cadre auteur Simple Author Box (contenu, non modifié) : portrait au cadre plein, sélecteurs plus forts que la règle en ligne */
.trp-texte .saboxplugin-wrap { margin-top: 2.2em !important; border: 1px solid var(--trp-filet) !important; background: var(--trp-pale1); }
.trp-texte .saboxplugin-wrap .saboxplugin-gravatar img, .trp-texte .saboxplugin-wrap img.avatar, .trp-texte .saboxplugin-wrap img.sab-custom-avatar { max-width: none !important; width: 100px; height: 100px; object-fit: cover; border-radius: 0 !important; }
.trp-texte .saboxplugin-wrap .saboxplugin-authorname a { font-family: var(--trp-titres); color: var(--trp-nuit); }
.trp-texte .saboxplugin-wrap .saboxplugin-desc p { font-size: 16px !important; }
img.avatar { max-width: none; }

/* ---------- Pied encre ---------- */
.trp-pied { background: var(--trp-encre); color: #fff; border-top: 12px solid var(--trp-accent); }
.trp-pied__grille { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: 36px; padding-top: 54px; padding-bottom: 30px; }
.trp .trp-pied .trp-logo { height: 42px; }
.trp-pied__marque p { margin: 16px 0 0; font-size: 17px; max-width: 23em; }
.trp-pied__titre { margin: 0 0 12px; font-family: var(--trp-titres); font-style: italic; font-size: 24px; line-height: 1.2; color: var(--trp-accent); }
.trp-pied ul { list-style: none; margin: 0; padding: 0; }
.trp-pied li { margin: 0 0 8px; font-size: 17px; }
.trp-pied a:hover { text-decoration: underline; text-underline-offset: 3px; }
.trp-pied__mail { overflow-wrap: anywhere; }
.trp-pied__bas { padding-top: 16px; padding-bottom: 20px; font-size: 15px; border-top: 1px solid #26314F; }
/* Lien imprimé par wp_footer (mu-plugin lien-sitewide-clickmeeting.php) : posé sur l'encre, lisible, jamais masqué */
.trp .partenaire-lien { background: var(--trp-encre); color: var(--trp-filet); margin: 0; }
.trp .partenaire-lien a { color: var(--trp-accent); }

/* ---------- Tablette ---------- */
@media (max-width: 1180px) {
  .trp-menu__liste { gap: 22px; }
  .trp-tete__ligne { gap: 22px; }
  .trp-rubs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .trp-grille--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trp-pied__grille { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 959px) {
  .trp-tete__burger { display: grid; }
  .trp-tete__loupe { margin-left: auto; }
  .trp-menu { position: absolute; top: 100%; left: 0; right: 0; height: auto; margin: 0; display: none; padding: 6px var(--trp-gouttiere) 14px; background: #fff; border-bottom: 1px solid var(--trp-encre); }
  .trp-menu.est-ouvert { display: block; }
  .trp-menu__liste { flex-direction: column; gap: 0; }
  .trp-menu a { height: auto; padding: 12px 0; border-bottom: 1px solid var(--trp-filet); }
  .trp-menu a[aria-current] { border-bottom: 1px solid var(--trp-filet); box-shadow: inset 4px 0 0 var(--trp-nuit); padding-left: 14px; }
  .trp-menu__court { display: none; } .trp-menu__long { display: inline; }
  .trp-panorama__grille { height: auto; min-height: 0; max-height: none; display: flex; flex-direction: column; gap: 0; padding-top: 34px; padding-bottom: 40px; }
  .trp-panorama__texte { display: contents; }
  .trp-panorama__sur { order: 1; }
  .trp-panorama__titre { order: 2; }
  .trp-panorama__chapo { order: 3; }
  .trp-panorama__photo { order: 4; height: auto; margin-bottom: 26px; }
  .trp .trp-panorama__photo img { aspect-ratio: 4 / 3; height: auto; }
  .trp-panorama__boutons { order: 5; }
  .trp-selection, .trp-colonnes, .trp-rub-tete__grille { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .trp-grille--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trp-rub-tete__photo { max-width: 560px; }
}

/* ---------- Mobile ---------- */
@media (max-width: 640px) {
  :root { --trp-ligne: 62px; --trp-tete: 62px; --trp-gouttiere: 16px; }
  body.trp { font-size: 17.5px; }
  .trp-tete__ligne { gap: 10px; }
  .trp .trp-logo { height: 31px; }
  .trp-tete__loupe, .trp-tete__burger { width: 40px; height: 40px; }
  .trp-panorama__grille { padding-top: 28px; padding-bottom: 34px; }
  .trp-panorama__sur { font-size: 13.5px; }
  .trp-panorama__titre { font-size: 38px; margin: 14px 0 !important; }
  .trp-panorama__chapo { font-size: 17.5px; margin-bottom: 22px; }
  .trp-panorama__photo { padding: 0 14px 14px 0; margin-bottom: 24px; }
  .trp-panorama__photo::before { left: 14px; top: 14px; }
  .trp .trp-panorama__photo img { padding: 8px; }
  .trp-bouton { font-size: 15.5px; padding: 12px 16px; }
  .trp-panorama__boutons { gap: 10px; }
  .trp-bloc { padding: 46px 0; }
  .trp-bloc--serre { padding: 34px 0; }
  .trp-chapeau { display: block; margin-bottom: 24px; }
  .trp-chapeau p { margin-top: 6px; }
  .trp-tout { display: inline-block; margin-top: 10px; }
  .trp-titre { font-size: 33px; }
  .trp-titre--moyen, .trp-magazine .trp-titre { font-size: 27px; }
  .trp-carte--une .trp-carte__titre { font-size: 27px; }
  .trp-carte__chapo { font-size: 17.5px; }
  .trp-carte--moy .trp-carte__titre, .trp-carte__titre { font-size: 19px; }
  .trp-grille--3 { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .trp-selection__bas { margin-top: 32px; padding-top: 28px; }
  .trp-rubs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 16px; }
  .trp-rub__photo img { aspect-ratio: 1 / 1; }
  .trp-rub__num { font-size: 30px; }
  .trp-rub__nom { font-size: 19px; }
  .trp-grille--4 { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .trp-carte--biz { display: grid; grid-template-columns: 112px minmax(0, 1fr); align-items: start; }
  .trp-carte--biz .trp-carte__image img, .trp-carte--biz .trp-carte__image--vide { aspect-ratio: 1 / 1; }
  .trp-carte--biz .trp-carte__corps { padding: 0 12px 12px; }
  .trp-carte--biz .trp-etiq { margin-top: 10px; font-size: 12px; }
  .trp-carte--biz .trp-carte__titre { font-size: 17px; }
  .trp-colonne__titre { font-size: 26px; }
  .trp-faq li { grid-template-columns: 46px minmax(0, 1fr); }
  .trp-faq li::before { font-size: 28px; }
  .trp-faq h3 { font-size: 20px; }
  .trp-magazine { padding: 24px 18px; margin-top: 40px; }
  .trp-rub-tete, .trp-art-tete { padding: 28px 0 36px; }
  .trp-rub-tete__texte, .trp-art-tete__texte { padding-left: 18px; }
  .trp-rub-tete__titre { font-size: 38px; }
  .trp-rub-tete__titre--moyen { font-size: 32px; }
  .trp-rub-tete__intro { font-size: 17.5px; }
  .trp-rub-tete__qui { flex-direction: column; align-items: flex-start; gap: 20px; }
  .trp-art-tete__titre { font-size: 32px; }
  .trp-signature { align-items: flex-start; }
  .trp-signature p { display: block; }
  .trp-signature p span { display: block; }
  .trp-signature p span + span::before { content: none; }
  .trp-art-photo { padding-top: 28px; }
  .trp-art-photo figure { padding: 0 10px 10px 0; }
  .trp-art-photo figure::before { left: 10px; top: 10px; }
  .trp-art-corps { padding-top: 30px; padding-bottom: 46px; }
  .trp-texte { font-size: 17.5px; }
  .trp-texte h2 { font-size: 26px; }
  .trp-texte h3 { font-size: 21px; }
  .trp-pied__grille { grid-template-columns: 1fr; gap: 26px; padding-top: 40px; }
  .trp .trp-pied .trp-logo { height: 36px; }
}

/* 1.0.1 (31/10/2026, demande de Jordan) : en-tête d'article en 2 colonnes, infos à gauche, image à la une à droite. */
.trp-art-tete__grille { display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px; align-items: center; }
.trp-art-tete--photo .trp-art-tete__grille { grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); }
.trp-art-tete__texte { max-width: none; }
.trp-art-tete--photo .trp-art-tete__titre { font-size: 40px; }
.trp-art-tete__photo { margin: 0; }
.trp-art-tete__photo > img { aspect-ratio: 4 / 3; height: auto; }
@media (max-width: 1180px) {
  .trp-art-tete--photo .trp-art-tete__grille { gap: 36px; }
  .trp-art-tete--photo .trp-art-tete__titre { font-size: 34px; }
}
@media (max-width: 959px) {
  .trp-art-tete--photo .trp-art-tete__grille { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .trp-art-tete__photo { padding: 0 10px 10px 0; }
  .trp-art-tete__photo::before { left: 10px; top: 10px; }
}
@media (max-width: 640px) {
  .trp-art-tete--photo .trp-art-tete__titre { font-size: 30px; }
}
/* Signature dans la colonne de gauche : une info par ligne, sans point de séparation orphelin. */
.trp-art-tete--photo .trp-signature { align-items: flex-start; }
.trp-art-tete--photo .trp-signature p { display: block; line-height: 1.55; }
.trp-art-tete--photo .trp-signature p span { display: block; }
.trp-art-tete--photo .trp-signature p span + span::before { content: none; }
