/* Compléments pour les contenus Markdown (chargé en dernier) */
/* "---" dans un texte long : séparateur entre deux parties (anciennes .source-section) */
.article-content>hr{border:0;border-top:1px solid #eee9f5;margin:24px 0 36px}
.article-content>hr+h2{margin-top:10px}
/* Images Markdown : même rendu que les images directes de la maquette */
.article-content p>img:only-child{display:block}
/* Sélecteur de langue (en-tête) : même gabarit que le bouton de recherche */
.enav-lang{display:grid;place-items:center;width:40px;height:40px;border:1px solid #e5dfee;border-radius:50%;background:white;color:#40334f;font-size:13px;font-weight:600;letter-spacing:.02em;text-decoration:none;flex-shrink:0}
.enav-lang:hover,.enav-lang:focus-visible{border-color:#6024f5;color:#6024f5}
@media (max-width:1100px){.enav-lang{width:35px;height:35px}}
@media (max-width:600px){.enav-lang{width:32px;height:32px;font-size:12px}}
.toplinks .lang-switch{font-weight:600}
/* Formulaire de contact */
.contact-form .cf-row{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media (max-width:640px){.contact-form .cf-row{grid-template-columns:1fr}}
.contact-form .cf-req{color:#d9345a}
.contact-form .cf-hint{display:block;font-size:13px;color:#7a6f86;margin-top:4px;font-weight:400}
.contact-form .cf-consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px;line-height:1.5}
.contact-form .cf-consent input{width:auto;margin-top:3px;flex-shrink:0}
.contact-form .cf-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-form input,.contact-form textarea,.contact-form select{transition:border-color .15s,box-shadow .15s}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus,.contact-form input:focus-visible,.contact-form textarea:focus-visible,.contact-form select:focus-visible{outline:none;border-color:#6024f5;box-shadow:0 0 0 3px rgba(96,36,245,.12)}
.contact-form [aria-invalid=true]{border-color:#e07a93}
.contact-form [aria-invalid=true]:focus{border-color:#d9345a;box-shadow:0 0 0 3px rgba(217,52,90,.1)}
.contact-form input[type=checkbox]{accent-color:#6024f5;width:17px;height:17px}
.contact-form input[type=checkbox]:focus-visible{outline:2px solid rgba(96,36,245,.35);outline-offset:2px;box-shadow:none}
.contact-form .cf-consent:has([aria-invalid=true]) span{color:#b3264a}
.contact-form button:focus-visible{outline:2px solid rgba(96,36,245,.4);outline-offset:3px}
/* Pièce jointe */
.contact-form .cf-file{margin-bottom:18px;font-size:14px}
.contact-form .cf-file-label{display:block;margin-bottom:6px}
.contact-form .cf-drop{position:relative;display:flex;align-items:center;gap:14px;padding:16px 18px;border:1.5px dashed #cdbfe3;border-radius:12px;background:#fff;transition:border-color .15s,background .15s}
.contact-form .cf-drop:hover,.contact-form .cf-drop.is-over{border-color:#6024f5;background:#faf7ff}
.contact-form .cf-drop:focus-within{border-color:#6024f5;box-shadow:0 0 0 3px rgba(96,36,245,.12)}
.contact-form .cf-drop input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer}
.contact-form .cf-drop input:focus{box-shadow:none}
.contact-form .cf-drop-icon{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:50%;background:#f2eafb;color:#6024f5}
.contact-form .cf-drop-text{line-height:1.45;color:#40334f}
.contact-form .cf-drop-text strong{color:#6024f5;font-weight:600}
.contact-form .cf-drop-text small{display:block;margin-top:2px;font-size:12.5px;color:#7a6f86}
.contact-form .cf-file-chosen{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #d4c9e4;border-radius:12px;background:#fff}
.contact-form .cf-file-chosen[hidden]{display:none}
.contact-form .cf-file-icon{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:9px;background:#f2eafb;color:#6024f5}
.contact-form .cf-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:#29232f}
.contact-form .cf-file-size{flex-shrink:0;font-size:12.5px;color:#7a6f86}
.contact-form .cf-file-remove{margin-left:auto;flex-shrink:0;width:30px;height:30px;border:0;border-radius:50%;background:#f4f0f8;color:#5b4d68;font-size:18px;line-height:1}
.contact-form .cf-file-remove:hover{background:#fdecef;color:#b3264a}
.contact-form .cf-file.is-invalid .cf-drop,.contact-form .cf-file.is-invalid .cf-file-chosen{border-color:#e07a93}
.contact-form .cf-error{color:#b3264a;background:#fdf0f3;border-radius:10px;padding:10px 14px;font-size:14px}
.contact-form button[disabled]{opacity:.6;cursor:wait}
/* En-tête : deux actions distinctes — contact (principal) et prise de rendez-vous (secondaire) */
.enav-contact{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;background:#6024f5;color:#fff;border-radius:40px;font-size:14px;font-weight:600;white-space:nowrap;text-decoration:none}
.enav-contact:hover,.enav-contact:focus-visible{background:#4c15d2;color:#fff}
.enav-contact span{font-size:16px;line-height:1}
.enav-book{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 15px;border:1px solid #e5dfee;border-radius:40px;background:#fff;color:#40334f;font-size:13px;font-weight:500;white-space:nowrap;text-decoration:none}
.enav-book:hover,.enav-book:focus-visible{border-color:#6024f5;color:#6024f5}
.enav-book svg{flex-shrink:0}
.enav-mobile-actions{display:none}
@media (min-width:1101px) and (max-width:1250px){.enav-book{width:40px;padding:0;justify-content:center}.enav-book span{display:none}.enav-contact{padding:11px 16px;font-size:13px}}
@media (max-width:1100px){
  .enav-book{display:none}
  .enav-contact{padding:10px 16px;font-size:13px}
  .enav-mobile-actions{display:grid;gap:10px;padding:18px 0 6px}
  .enav-mobile-actions .button{justify-content:center;display:flex;align-items:center;gap:8px;text-align:center}
}
@media (max-width:390px){.enav-contact{padding:9px 12px;font-size:12px}.enav-contact span{display:none}}

/* Bandeau cookies */
.consent{position:fixed;z-index:1000;left:20px;bottom:20px;max-width:440px;display:grid;gap:16px;padding:20px 22px;background:#fff;color:#40334f;border:1px solid #e5dfee;border-radius:18px;box-shadow:0 18px 50px rgba(32,14,68,.18);font-size:14px;line-height:1.5}
.consent[hidden]{display:none}
.consent p{margin:0}
.consent-title{font-weight:650;color:#1d1230;margin-bottom:6px!important}
.consent a{color:#6024f5;text-decoration:underline}
.consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.consent-btn{height:42px;border:1px solid #6024f5;border-radius:40px;background:#fff;color:#6024f5;font:inherit;font-weight:600;cursor:pointer}
.consent-btn:hover,.consent-btn:focus-visible{background:#6024f5;color:#fff}
@media (max-width:560px){.consent{left:10px;right:10px;bottom:10px;max-width:none}}

/* Auteur des articles */
.byline{display:flex;align-items:center;gap:12px;margin:22px 0 0;font-size:14px;color:#62616b}
.byline img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}
.byline span{line-height:1.35}
.byline a,.byline span>span{color:#29232f;font-weight:600}
.byline a:hover{color:#6024f5}
.byline small{display:block;font-size:13px;color:#7a6f86}
.author-box{display:flex;gap:22px;align-items:flex-start;margin:50px 0 10px;padding:26px 28px;background:#f7f3fd;border-left:3px solid #6024f5}
.author-box img,.article-content .author-box img{width:88px!important;height:88px!important;max-width:none;max-height:none;border-radius:50%;object-fit:cover;flex-shrink:0;margin:0!important}
.author-box p{margin:0}
.article-content .author-box p{font-size:15px;line-height:1.65}
.article-content .author-box .author-box-kicker{font-size:12px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:#db3376;margin-bottom:6px}
.article-content .author-box .author-box-name{font-size:20px;font-weight:650;line-height:1.3}
.author-box-name a{color:#1d1230!important;text-decoration:none!important}
.author-box-name a:hover{color:#6024f5!important}
.article-content .author-box .author-box-role{font-size:14px;color:#7a6f86;margin-bottom:10px}
.author-box-links{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:12px!important}
.author-box-links a{font-size:14px;font-weight:600;color:#6024f5!important;text-decoration:none!important}
@media (max-width:560px){.author-box{flex-direction:column;gap:14px;padding:22px}.article-content .author-box img{width:64px!important;height:64px!important}}

/* Images avec dimensions déclarées : la hauteur suit la largeur affichée */
.article-content img{height:auto}

/* Demande de document (catalogue, ebook) */
.resource-form .rf-intro{margin:-4px 0 20px;color:#62616b}
.resource-form .rf-success{margin:0;padding:18px 20px;border-radius:12px;background:#fff;border-left:3px solid #6024f5;font-weight:500;color:#29232f}
.resource-form .rf-success:focus{outline:none}
