/* Navigation par ancres et sections repliables (pages Recherche et Exposés). */
html { scroll-behavior: smooth; }
.sec { scroll-margin-top: 56px; }

/* Barre transparente : seuls les boutons flottent (fond blanc + ombre pour rester lisibles). */
.sec-nav {
    position: sticky; top: 8px; z-index: 20;
    display: flex; flex-wrap: wrap; justify-content: center; gap: 8px;
    margin: 0 0 14px; padding: 0;
    pointer-events: none;
}
.sec-nav a {
    pointer-events: auto;
    padding: 3px 14px; border: 1px solid #d0d0d0; border-radius: 14px;
    background: #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    font-size: 13px; color: #31708f;
}
.sec-nav a:hover { background: #31708f; border-color: #31708f; color: #fff; }

.sec { border-bottom: 1px solid #e4e4e4; padding-bottom: 6px; margin-bottom: 6px; }
.sec > summary { cursor: pointer; list-style: none; }
.sec > summary::-webkit-details-marker { display: none; }
.sec > summary h3 { display: inline-block; margin: 14px 0 8px; }
.sec > summary::before {
    content: "\25B8"; display: inline-block; width: 1.1em; color: #8a8a8a; font-size: 18px;
    transition: transform 0.15s;
}
.sec[open] > summary::before { transform: rotate(90deg); }
.sec > summary:hover h3 { color: #31708f; }

.sec-count {
    display: inline-block; margin-left: 6px; padding: 0 8px; border-radius: 10px;
    background: #efefef; color: #666; font-size: 13px; font-weight: 600; vertical-align: middle;
}
.sec-sub { margin: 18px 0 6px; font-size: 16px; font-weight: 600; color: #666; }
.sec-more { margin: 6px 0 10px; font-weight: 600; }
.sec-more a { color: #31708f; }
.sec-more a:hover { text-decoration: underline; }

.talk { display: flex; gap: 14px; margin: 9px 0; list-style: none; }
.talk-date { flex: 0 0 120px; color: #8a8a8a; font-weight: 600; }
.talk-body { flex: 1 1 auto; min-width: 0; }

@media (max-width: 600px) {
    .talk { flex-direction: column; gap: 0; }
    .talk-date { flex-basis: auto; }
}
@media print {
    .sec-nav { display: none; }
    .sec:not([open]) > *:not(summary) { display: block; }
}

.talk-detail { color: #777; }

/* Sous-titres de groupe (En cours / Précédemment) : plus marqués que les années. */
.sec-group {
    margin: 16px 0 4px; font-size: 13px; font-weight: 700; letter-spacing: 0.06em;
    text-transform: uppercase; color: #31708f;
}

/* Accueil : sections (domaines, thèse, CV) au même gabarit que les autres pages. */
.home-sec { padding-bottom: 10px; margin-bottom: 6px; border-bottom: 1px solid #e4e4e4; }
.home-sec:last-child { border-bottom: 0; }
.home-sec h3 { margin: 14px 0 8px; }
.home-sec ul { margin-bottom: 4px; }
.thesis-title { margin: 0 0 6px; font-style: italic; font-weight: 600; line-height: 1.4; color: #222; }
.thesis-meta { margin: 0 0 10px; color: #555; }
.thesis-meta a { color: #31708f; text-decoration: underline dotted; }
.thesis-meta a:hover { text-decoration: underline; }

/* Boutons d'accès (thèse, CV) : même style que les boutons d'ancres, en plus grand. */
.tool-row { margin: 4px 0 6px; }
.tool-btn {
    display: inline-block; margin: 3px 8px 3px 0; padding: 5px 14px;
    border: 1px solid #31708f; border-radius: 4px; background: #fff; color: #31708f; font-weight: 600;
}
.tool-btn span { margin-left: 6px; font-size: 12px; font-weight: 400; color: #777; }
.tool-btn:hover { background: #31708f; color: #fff; }
.tool-btn:hover span { color: #dfeaf0; }
.tool-btn-main { background: #31708f; color: #fff; }
.tool-btn-main span { color: #dfeaf0; }
.tool-btn-main:hover { background: #265a73; border-color: #265a73; }
@media print {
    .home-sec a[href]:after { content: none !important; }
}

/* Accueil : adresses des deux lieux de travail. */
.addr { margin-bottom: 14px; }
.addr-label { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #31708f; }
