/* Profil public d'un formateur */
.trainer-profile { display: grid; gap: 28px; }
.trainer-hero { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 32px; align-items: center; padding: 36px 42px; border-radius: 24px; background: var(--detail-navy); color: #fff; box-shadow: 0 20px 48px #06213d25; }
.trainer-avatar-large { display: grid; place-items: center; width: 128px; height: 128px; border: 4px solid #ffffff40; border-radius: 50%; object-fit: cover; background: #e5f5f0; color: var(--detail-navy); font: 800 2.2rem Montserrat, sans-serif; }
.trainer-avatar-large.is-brand { padding: 16px; object-fit: contain; background: #fff; }
.trainer-identity { min-width: 0; }
.trainer-identity .detail-eyebrow { color: #50d4cc; }
.trainer-identity h1 { margin: 0; font: 800 clamp(1.9rem, 4vw, 3rem)/1.08 Montserrat, sans-serif; letter-spacing: -.04em; overflow-wrap: anywhere; }
.trainer-title { margin: 8px 0 0; color: #d5e4ee; font-size: 1.1rem; }
.trainer-location { display: flex; align-items: center; gap: 8px; margin: 10px 0 0; color: #b8cede; font-size: .9rem; }
.trainer-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.trainer-link { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border: 1px solid #ffffff44; border-radius: 99px; color: #fff; font-size: .82rem; font-weight: 750; text-decoration: none; }
.trainer-link:hover { background: #ffffff18; }
.trainer-link:focus-visible { outline: 3px solid rgba(78, 219, 206, .7); outline-offset: 3px; }
.trainer-layout { display: block; }
.trainer-main > .detail-section:first-child { padding-top: 0; border-top: 0; }
.detail-tag.is-primary { border-color: #159f9d; background: #d8f4ee; }
.trainer-count { margin: -8px 0 18px; color: var(--detail-muted); font-size: .9rem; }
.trainer-formations .domain-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1100px) { .trainer-formations .domain-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .trainer-hero { grid-template-columns: 1fr; justify-items: start; gap: 18px; padding: 24px 20px; border-radius: 18px; }
  .trainer-avatar-large { width: 96px; height: 96px; }
}
@media (max-width: 620px) { .trainer-formations .domain-grid { grid-template-columns: 1fr; } }
