/* ============================================================
   PAGE : Notre Barreau — pixel-perfect maquette
   ============================================================ */

/* Pleine largeur avec padding container — aligné sur le header */
.container-full {
    max-width: var(--container-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--container-pad);
    padding-right: var(--container-pad);
}

/* Breadcrumb + titre : même largeur que le header */
.breadcrumb.container-full {
    padding-left: var(--container-pad);
    padding-right: var(--container-pad);
}
.page-barreau__title.container-full {
    padding-left: calc(var(--container-pad) + 30px);
    padding-right: var(--container-pad);
}

/* container--narrow décalé à droite */
.page-barreau .container--narrow {
    margin-left: 11%;
    margin-right: auto;
}

/* Breadcrumb */
.breadcrumb {
    padding: var(--sp-3) 0 var(--sp-2);
    font-size: var(--fs-xs);
    letter-spacing: 0.1em;
    color: var(--bm-text-muted);
}
.breadcrumb a {
    color: var(--bm-text-muted);
    transition: color var(--t-fast);
}
.breadcrumb a:hover { color: var(--bm-blue); }

/* ── Titre page + barre soulignée ── */
.page-barreau__title {
    font-size: clamp(3rem, 6vw, 6rem);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: -0.07em;
    line-height: 0.85;
    color: var(--bm-ink);
    margin-top: 0;
    margin-bottom: var(--sp-2);
    font-style: normal;
}
.page-barreau__title::after {
    content: "";
    display: block;
    width: 300px;
    height: 15px;
    background: var(--bm-ink);
    margin-top: var(--sp-4);
    margin-bottom: var(--sp-8);
}

/* ══════════════════════════════════════════════════════════════
   HERO CARD : [stats-col] [photo Marie] [photo Jean-Michel]
   - stats-col = bloc sombre (haut) + bande bleue (bas)
   - photo Marie collée au bloc (gap 0)
   - photo Jean-Michel séparé par un gap blanc
   - photos alignées au TOP du bloc sombre
   ══════════════════════════════════════════════════════════════ */
.page-barreau__hero {
    display: grid;
    grid-template-columns: 3fr 1fr 1fr;
    gap: 0;
    column-gap: 0;
    align-items: stretch;
    margin: 0 0 var(--sp-10);
    max-width: 100%;
    overflow: hidden;
}

/* 1ère colonne : stats sombres + bande bleue */
.page-barreau__stats-col {
    display: flex;
    flex-direction: column;
}
.page-barreau__stats-dark {
    background: var(--bm-dark);
    color: var(--bm-beige);
    padding: var(--sp-3) var(--sp-4) var(--sp-5);
    display: flex;
    flex-direction: column;
    gap: var(--sp-2);
    flex: 1;
}
.page-barreau__stats-blue {
    background: var(--bm-blue);
    color: var(--bm-white);
    padding: var(--sp-3) var(--sp-3) var(--sp-3);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
    text-align: right;
    gap: 0;
    flex: 1;
}
.page-barreau__stat-line1 {
    display: flex;
    align-items: baseline;
    gap: var(--sp-2);
}
.page-barreau__stat-line2 {
    font-size: 1.7rem;
    font-weight: var(--fw-bold);
    letter-spacing: -0.07em;
}
.page-barreau__stat {
    display: flex;
    align-items: baseline;
    gap: var(--sp-3);
}
.page-barreau__stat-number {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.07em;
}
.page-barreau__stat-number sup {
    font-size: 0.45em;
    vertical-align: super;
    letter-spacing: 0;
}
.page-barreau__stat-label {
    font-size: 1.7rem;
    font-weight: var(--fw-bold);
    letter-spacing: -0.07em;
}
.page-barreau__stat-label--light {
    font-weight: var(--fw-regular);
}
.page-barreau__stats-blue .page-barreau__stat-number {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--bm-beige);
}
.page-barreau__stats-blue .page-barreau__stat-label {
    font-size: 1.7rem;
    font-weight: var(--fw-bold);
}

/* Leaders : chaque leader = photo + info en dessous */
.page-barreau__leader {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    text-align: center;
    height: 100%;
}
/* 1ère photo : collée au bloc sombre (pas de gap) */
.page-barreau__leader--first {
    margin-left: 0;
}
/* 2ème photo : gap blanc à gauche */
.page-barreau__leader--second {
    margin-left: var(--sp-5);
}

.page-barreau__leader-photo {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
}
.page-barreau__leader-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}
/* Coin arrondi haut-droit sur la 2e photo seulement */
.page-barreau__leader--second .page-barreau__leader-photo {
    border-top-right-radius: var(--r-xl);
}

/* Overlay nom + rôle EN BAS de la photo */
.page-barreau__leader-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    padding: var(--sp-8) 0 var(--sp-4);
    background: linear-gradient(transparent 0%, rgba(0,0,0,.7) 100%);
}
.page-barreau__leader-name {
    font-size: var(--fs-sm);
    font-weight: 700;
    margin: 0 0 var(--sp-2);
    line-height: 1.3;
    color: var(--bm-white);
    padding: 0 var(--sp-3);
}
.page-barreau__leader-name span {
    display: block;
}
.page-barreau__leader-role {
    font-size: 1.05rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: -0.07em;
    margin: 0 auto;
    background: #2d2d2d;
    color: var(--bm-white);
    display: block;
    width: 80%;
    padding: 5px 10px;
    border-radius: 0;
    border: 5px solid var(--bm-white);
    box-sizing: border-box;
}

/* Séparation blanche entre les 2 photos */
.page-barreau__leader--first {
    border-right: 4px solid var(--bm-white);
}

/* Badge Vice-Bâtonnier : fond blanc + contour gris */
.page-barreau__leader--second .page-barreau__leader-role {
    background: #ffffff;
    color: #2d2d2d;
    border-color: #2d2d2d;
}

/* ── Contenu texte intro ── */
.page-barreau__content {
    font-size: var(--fs-sm);
    line-height: 1.3;
    letter-spacing: 0.1em;
    font-weight: var(--fw-light);
    color: var(--bm-text);
    margin-bottom: var(--sp-10);
    max-width: 100%;
}
.page-barreau__content p {
    margin-bottom: var(--sp-4);
}

/* ── Sections (Conseil, Bâtonnier, Historique) ── */
.page-barreau__section {
    margin-bottom: var(--sp-8);
    border-top: none;
    padding-top: var(--sp-5);
    clear: both;
}
.page-barreau__section-title {
    font-size: 2.5rem;
    font-weight: var(--fw-bold);
    text-transform: none;
    letter-spacing: -0.07em;
    margin-bottom: var(--sp-5);
    text-decoration: none;
    color: #E2E1D4;
}
.page-barreau__section-title--blue {
    color: var(--bm-beige-border);
}
.page-barreau__section-title--italic {
    font-style: italic;
}

/* Corps de section : 2 colonnes */
.page-barreau__section-body {
    font-size: var(--fs-sm);
    line-height: 1.3;
    letter-spacing: 0.1em;
    font-weight: var(--fw-light);
    color: var(--bm-text);
    columns: 2;
    column-gap: var(--sp-8);
}
.page-barreau__section-body p {
    margin-bottom: var(--sp-4);
}

/* Lien → aligné à droite */
.page-barreau__link {
    display: inline-block;
    margin-top: var(--sp-4);
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    letter-spacing: -0.07em;
    text-decoration: underline;
    text-underline-offset: 4px;
    color: var(--bm-ink);
    transition: color var(--t-fast);
    float: right;
}
.page-barreau__link:hover { color: var(--bm-blue); }
.page-barreau__link--blue {
    color: var(--bm-blue);
    text-decoration: none;
}

/* Bouton accordéon membres */
.page-barreau__accordion-toggle {
    display: block;
    margin-left: auto;
    margin-top: var(--sp-4);
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.5rem;
    font-weight: var(--fw-bold);
    text-transform: none;
    letter-spacing: -0.07em;
    text-decoration: none;
    color: var(--bm-blue);
    padding: 0;
    transition: opacity var(--t-fast);
    clear: both;
    float: right;
}
.page-barreau__accordion-toggle:hover { opacity: 0.7; }
.page-barreau__accordion-icon {
    font-style: normal;
}

/* Corps accordéon */
.page-barreau__accordion-body[hidden] {
    display: none;
}

/* Liste des membres (grille 2 colonnes de noms) */
.page-barreau__members {
    font-size: 0.8rem;
    line-height: 1.3;
    font-weight: 300;
    columns: 2;
    column-gap: var(--sp-8);
    margin-bottom: var(--sp-10);
    padding: var(--sp-5) var(--sp-6);
    background: var(--bm-beige);
    clear: both;
}
.page-barreau__members p {
    margin: 0;
}

/* ── Grande image Palais de Justice ── */
.page-barreau__figure {
    margin: var(--sp-8) 0 var(--sp-8);
}
.page-barreau__figure-frame {
    background: #3b4242;
    padding: 20px;
    border-radius: 0;
}
.page-barreau__figure-frame img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 0 0 0 200px;
}
.page-barreau__figure figcaption {
    text-align: center;
    font-size: var(--fs-sm);
    font-style: italic;
    letter-spacing: 0.1em;
    color: var(--bm-text-muted);
    margin-top: var(--sp-3);
}

/* Shortcode [colonne] — saut de colonne */
.colonne-break {
    break-before: column;
    display: block;
}

/* Texte complémentaire (2 colonnes comme les sections) */
.page-barreau__complement {
    margin-bottom: var(--sp-8);
    columns: 2;
    column-gap: var(--sp-8);
}

/* ── Responsive : Tablette ── */
@media (max-width: 900px) {
    .page-barreau {
        overflow-x: hidden;
    }
    /* Mobile/tablette : pas de marge à gauche, contenu aligné au header */
    .page-barreau .container--narrow {
        margin-left: 0;
    }
    .page-barreau__title.container-full {
        padding-left: var(--container-pad);
    }
    .page-barreau__title {
        font-size: clamp(2.5rem, 5vw, 4.5rem);
    }
    .page-barreau__title::after {
        width: 250px;
    }
    .page-barreau__hero {
        grid-template-columns: 1fr 1fr;
    }
    .page-barreau__stats-col {
        grid-column: 1 / -1;
    }
    .page-barreau__leader--first {
        border-right: 4px solid var(--bm-white);
    }
    .page-barreau__leader--second {
        margin-left: 0;
    }
    .page-barreau__section-body,
    .page-barreau__members,
    .page-barreau__complement {
        columns: 1;
    }
    .page-barreau__section-body,
    .page-barreau__content {
        overflow-wrap: break-word;
    }
    /* Désactive le shortcode [colonne] en responsive */
    .colonne-break {
        break-before: auto;
        display: none;
    }
    .page-barreau__figure-frame {
        padding: 12px;
    }
    .page-barreau__figure-frame img {
        border-radius: 0 0 0 100px;
    }
}

/* ── Responsive : Mobile ── */
@media (max-width: 600px) {
    .page-barreau__title {
        font-size: 2.2rem;
    }
    .page-barreau__title::after {
        width: 200px;
        height: 10px;
        margin-top: var(--sp-3);
        margin-bottom: var(--sp-5);
    }
    .page-barreau__hero {
        grid-template-columns: 1fr;
    }
    .page-barreau__stats-col {
        grid-column: auto;
    }
    .page-barreau__leader--first {
        border-right: none;
    }
    .page-barreau__leader--second {
        margin-left: 0;
    }
    .page-barreau__leader--second .page-barreau__leader-photo {
        border-top-right-radius: 0;
    }
    .page-barreau__leader-photo {
        height: 350px;
    }
    .page-barreau__section-title {
        font-size: var(--fs-lg);
    }
    .page-barreau__section-body,
    .page-barreau__members,
    .page-barreau__complement {
        columns: 1;
    }
    .page-barreau__members {
        padding: var(--sp-4);
    }
    .page-barreau__accordion-toggle {
        font-size: var(--fs-xs);
    }
    .page-barreau__figure-frame {
        padding: 10px;
    }
    .page-barreau__figure-frame img {
        border-radius: 0 0 0 80px;
    }
    .page-barreau__stat-number {
        font-size: 2rem;
    }
    .page-barreau__stat-label,
    .page-barreau__stat-line2 {
        font-size: 1.3rem;
    }
}
