/* =============================================
   Block: Boîte auteur (modulo/author-box)
   Couleurs vides = valeurs qui suivent le thème.
   ============================================= */

.mt-author {
    --_bg:      var(--mt-au-bg, var(--mb-c-surface));
    --_border:  var(--mt-au-border, color-mix(in srgb, var(--mb-c-text) 10%, transparent));
    --_heading: var(--mt-au-heading, inherit);
    --_name:    var(--mt-au-name, inherit);
    --_role:    var(--mt-au-role, var(--_accent));
    --_text:    var(--mt-au-text, inherit);
    --_accent:  var(--mt-au-accent, var(--mb-c-accent));
    --_photo-bc: var(--mt-au-photo-bc, var(--_bg));
    --_icon-c:  var(--mt-au-icon-c, var(--_accent));
    --_icon-bg: var(--mt-au-icon-bg, color-mix(in srgb, var(--mb-c-text) 5%, transparent));
    --_icon-hc: var(--mt-au-icon-hc, var(--mb-c-on-accent));
    --_icon-hbg: var(--mt-au-icon-hbg, var(--_accent));
    --_btn-bg:  var(--mt-au-btn-bg, var(--_accent));
    --_btn-c:   var(--mt-au-btn-c, var(--mb-c-on-accent));

    box-sizing: border-box;
    padding: var(--mt-au-pt, var(--mt-au-pad, 24px)) var(--mt-au-pr, var(--mt-au-pad, 24px)) var(--mt-au-pb, var(--mt-au-pad, 24px)) var(--mt-au-pl, var(--mt-au-pad, 24px));
    background: var(--_bg);
    border: var(--mt-au-bw, 1px) solid var(--_border);
    border-radius: var(--mt-au-radius, var(--mb-r, 12px));
    box-shadow: var(--mt-au-shadow, none);
    color: var(--_text);
}
.mt-author *, .mt-author *::before, .mt-author *::after { box-sizing: border-box; }

.mt-author-empty,
.mt-author-note {
    margin: 0 0 12px;
    padding: 10px 14px;
    border-left: 3px solid #3858e9;
    background: #f0f6fc;
    color: #1e1e1e;
    font-size: 13px;
}
.mt-author-empty { margin: 0; }

.mt-author__heading {
    margin: 0 0 16px;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--_heading);
    opacity: .85;
}

.mt-author__inner {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

/* ─── Photo ─── */
.mt-author__photo {
    flex: none;
    width: var(--mt-au-photo, 96px);
    height: var(--mt-au-photo, 96px);
    border: var(--mt-au-photo-bw, 0) solid var(--_photo-bc);
    overflow: hidden;
    background: var(--_icon-bg);
}
.mt-author--photo-circle  .mt-author__photo { border-radius: 50%; }
.mt-author--photo-rounded .mt-author__photo { border-radius: 18%; }
.mt-author--photo-square  .mt-author__photo { border-radius: 0; }
.mt-author__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mt-author__initials {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    font-size: calc(var(--mt-au-photo, 96px) * .36);
    font-weight: 700;
    color: var(--_accent);
}

/* ─── Texte ─── */
.mt-author__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.mt-author__name {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.25;
    font-weight: 700;
    color: var(--_name);
}
.mt-author__name a,
.mt-author__name a:visited { color: inherit; text-decoration: none; }
.mt-author__name a:hover { text-decoration: underline; text-underline-offset: 3px; }
.mt-author__meta {
    margin: 0;
    font-size: .875rem;
    line-height: 1.4;
}
.mt-author__role  { color: var(--_role); font-weight: 600; }
.mt-author__count { opacity: .75; }
.mt-author__sep   { margin: 0 6px; opacity: .5; }
.mt-author__bio {
    margin-top: 4px;
    font-size: .9375rem;
    line-height: 1.6;
    color: var(--_text);
}
.mt-author__bio p { margin: 0 0 .6em; }
.mt-author__bio p:last-child { margin-bottom: 0; }
.mt-author__bio a { color: var(--_accent); }
.mt-author--clamp .mt-author__bio {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--mt-au-lines, 3);
    line-clamp: var(--mt-au-lines, 3);
    overflow: hidden;
}
.mt-author--clamp .mt-author__bio p { display: inline; }

.mt-author__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 20px;
    margin-top: 10px;
}

/* ─── Liens sociaux ─── */
.mt-author__social {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.mt-author__social li { margin: 0; padding: 0; }
.mt-author__social li::before { content: none; }
.mt-author__social-link,
.mt-author__social-link:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(var(--mt-au-icon, 18px) * 2);
    height: calc(var(--mt-au-icon, 18px) * 2);
    color: var(--_icon-c);
    background: var(--_icon-bg);
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.mt-author--icons-circle .mt-author__social-link { border-radius: 50%; }
.mt-author--icons-square .mt-author__social-link { border-radius: 6px; }
.mt-author--icons-plain  .mt-author__social-link {
    width: auto;
    height: auto;
    background: transparent;
    padding: 2px;
}
.mt-author__social-link svg {
    width: var(--mt-au-icon, 18px);
    height: var(--mt-au-icon, 18px);
    display: block;
}
.mt-author__social-link:hover,
.mt-author__social-link:focus-visible {
    color: var(--_icon-hc);
    background: var(--_icon-hbg);
}
.mt-author--icons-plain .mt-author__social-link:hover,
.mt-author--icons-plain .mt-author__social-link:focus-visible {
    background: transparent;
    color: var(--mt-au-icon-hc, var(--_accent));
    transform: translateY(-1px);
}
.mt-author__social-link:focus-visible { outline: 2px solid var(--_accent); outline-offset: 2px; }

/* ─── Bouton ─── */
.mt-author__btn,
.mt-author__btn:visited {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border: 2px solid var(--_btn-bg);
    border-radius: 999px;
    font-size: .875rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease;
}
.mt-author--btn-fill .mt-author__btn { background: var(--_btn-bg); color: var(--_btn-c); }
.mt-author--btn-fill .mt-author__btn:hover { opacity: .9; }
.mt-author--btn-outline .mt-author__btn { background: transparent; color: var(--mt-au-btn-c, var(--_btn-bg)); }
.mt-author--btn-outline .mt-author__btn:hover { background: var(--_btn-bg); color: var(--mb-c-on-accent); }
.mt-author--btn-link .mt-author__btn { padding: 0; border: 0; border-radius: 0; background: none; color: var(--mt-au-btn-c, var(--_accent)); }
.mt-author--btn-link .mt-author__btn:hover { text-decoration: underline; text-underline-offset: 3px; }
.mt-author__btn:focus-visible { outline: 2px solid var(--_accent); outline-offset: 2px; }

/* ─── Mise en page verticale ─── */
.mt-author--vertical .mt-author__inner { flex-direction: column; }

/* ─── Mise en page compacte (haut d'article) ─── */
.mt-author--compact { padding: calc(var(--mt-au-pad, 24px) * .5); }
.mt-author--compact .mt-author__inner { align-items: center; gap: 12px; }
.mt-author--compact .mt-author__body {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 16px;
}
.mt-author__line { margin: 0; font-size: .9375rem; line-height: 1.4; }
.mt-author__by { opacity: .75; }
.mt-author--compact .mt-author__name { display: inline; font-size: inherit; }
.mt-author--compact .mt-author__social-link { width: calc(var(--mt-au-icon, 18px) * 1.7); height: calc(var(--mt-au-icon, 18px) * 1.7); }

/* ─── Alignements ─── */
.mt-author--align-center { text-align: center; }
.mt-author--align-right  { text-align: right; }
.mt-author--vertical.mt-author--align-center .mt-author__inner { align-items: center; }
.mt-author--vertical.mt-author--align-right  .mt-author__inner { align-items: flex-end; }
.mt-author--align-center .mt-author__footer,
.mt-author--align-center .mt-author__social { justify-content: center; }
.mt-author--align-right .mt-author__footer,
.mt-author--align-right .mt-author__social  { justify-content: flex-end; }
.mt-author--horizontal.mt-author--align-right .mt-author__inner { flex-direction: row-reverse; }
.mt-author--compact.mt-author--align-center .mt-author__inner,
.mt-author--compact.mt-author--align-center .mt-author__body { justify-content: center; }
.mt-author--compact.mt-author--align-right .mt-author__inner,
.mt-author--compact.mt-author--align-right .mt-author__body { justify-content: flex-end; }

/* ─── Mobile : l'horizontale passe en verticale ─── */
@media (max-width: 600px) {
    .mt-author--horizontal .mt-author__inner,
    .mt-author--horizontal.mt-author--align-right .mt-author__inner { flex-direction: column; }
    .mt-author--horizontal.mt-author--align-center .mt-author__inner { align-items: center; }
    .mt-author--horizontal.mt-author--align-right .mt-author__inner { align-items: flex-end; }
}

@media (prefers-reduced-motion: reduce) {
    .mt-author__social-link, .mt-author__btn { transition: none; }
    .mt-author__social-link:hover { transform: none; }
}

/* Marge intérieure sur tablette et mobile (réglage facultatif, sinon comme l'écran plus grand). */
@media (max-width: 980px) {
    .mt-author { padding: var(--mt-au-pt-t, var(--mt-au-pt, var(--mt-au-pad, 24px))) var(--mt-au-pr-t, var(--mt-au-pr, var(--mt-au-pad, 24px))) var(--mt-au-pb-t, var(--mt-au-pb, var(--mt-au-pad, 24px))) var(--mt-au-pl-t, var(--mt-au-pl, var(--mt-au-pad, 24px))); }
}
@media (max-width: 600px) {
    .mt-author { padding: var(--mt-au-pt-m, var(--mt-au-pt-t, var(--mt-au-pt, var(--mt-au-pad, 24px)))) var(--mt-au-pr-m, var(--mt-au-pr-t, var(--mt-au-pr, var(--mt-au-pad, 24px)))) var(--mt-au-pb-m, var(--mt-au-pb-t, var(--mt-au-pb, var(--mt-au-pad, 24px)))) var(--mt-au-pl-m, var(--mt-au-pl-t, var(--mt-au-pl, var(--mt-au-pad, 24px)))); }
}
