/* MBA Architecture Gallery Ancien Modèle 2026 */
/* Ancien rendu conservé, rebranding MBA, compatible Elementor/mba-no-gap. */

.elementor-widget-mba_architecture_gallery_ancien_modele_2026,
.elementor-widget-mba_architecture_gallery_ancien_modele_2026 > .elementor-widget-container,
.mba-no-gap .elementor-widget-mba_architecture_gallery_ancien_modele_2026,
.mba-no-gap .elementor-widget-mba_architecture_gallery_ancien_modele_2026 > .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: none !important;
    line-height: normal !important;
}

.mbaag2026-section,
.mbaag2026-section * { box-sizing: border-box; }

.mbaag2026-section {
    --mbaag-noir: #1a1a1a;
    --mbaag-blanc: #ffffff;
    --mbaag-gris: #666666;
    --mbaag-bg: #FCFBFA;
    --mbaag-overlay-opacity: .82;
    background: var(--mbaag-bg);
    color: var(--mbaag-noir);
    width: 100%;
    padding: clamp(3rem, 6vw, 5.25rem) clamp(1rem, 3vw, 1.5rem);
    overflow-x: clip;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.mbaag2026-section.mbaag2026-full {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.mbaag2026-inner {
    width: min(1180px, 100%);
    margin-inline: auto;
}

.mbaag2026-heading {
    text-align: center;
    max-width: 820px;
    margin: 0 auto clamp(2.1rem, 4vw, 3.35rem);
}

.mbaag2026-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    margin-bottom: .8rem;
    color: rgba(26,26,26,.62);
    font-size: clamp(.68rem, .78vw, .76rem);
    font-weight: 750;
    letter-spacing: .18em;
    line-height: 1;
    text-transform: uppercase;
}

.mbaag2026-kicker::before,
.mbaag2026-kicker::after {
    content: '';
    display: block;
    width: 32px;
    height: 1px;
    background: currentColor;
    opacity: .55;
}

.mbaag2026-heading h1,
.mbaag2026-heading h2,
.mbaag2026-heading h3,
.mbaag2026-title-div {
    margin: 0;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(2.15rem, 4.2vw, 4rem);
    line-height: 1.05;
    font-weight: 650;
    letter-spacing: -0.035em;
    color: var(--mbaag-noir);
    text-wrap: balance;
}

.mbaag2026-heading p {
    max-width: 760px;
    margin: clamp(.9rem, 2vw, 1.35rem) auto 0;
    color: var(--mbaag-gris);
    font-size: clamp(.98rem, 1.14vw, 1.12rem);
    line-height: 1.78;
    text-wrap: pretty;
}

.mbaag2026-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(.9rem, 2vw, 1.4rem);
    align-items: stretch;
}

.mbaag2026-cols-2 .mbaag2026-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mbaag2026-cols-3 .mbaag2026-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mbaag2026-cols-4 .mbaag2026-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.mbaag2026-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: #f7f7f7;
    box-shadow: 0 16px 44px rgba(26,26,26,.08);
    transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease;
}

.mbaag2026-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 26px 70px rgba(26,26,26,.16);
}

.mbaag2026-figure {
    position: relative;
    margin: 0;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #edeae5;
}

.mbaag2026-figure img,
.mbaag2026-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .65s cubic-bezier(.2,.7,.2,1), filter .65s ease;
}

.mbaag2026-card:hover .mbaag2026-figure img,
.mbaag2026-card:hover .mbaag2026-placeholder {
    transform: scale(1.065);
    filter: saturate(1.04);
}

.mbaag2026-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(26,26,26,.10), rgba(26,26,26,.02)), radial-gradient(circle at 20% 20%, #ffffff, #edeae5 68%);
}

.mbaag2026-placeholder span {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(3rem, 7vw, 5rem);
    color: rgba(26,26,26,.18);
}

.mbaag2026-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(1.05rem, 2vw, 1.6rem);
    color: #fff;
    background: linear-gradient(to top, rgba(0,0,0,var(--mbaag-overlay-opacity)) 0%, rgba(0,0,0,.55) 44%, rgba(0,0,0,.14) 100%);
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .45s ease, transform .45s cubic-bezier(.2,.7,.2,1);
}

.mbaag2026-card:hover .mbaag2026-overlay,
.mbaag2026-card:focus-within .mbaag2026-overlay {
    opacity: 1;
    transform: translateY(0);
}

.mbaag2026-category {
    display: inline-block;
    margin-bottom: .55rem;
    color: rgba(255,255,255,.84);
    font-size: clamp(.62rem, .72vw, .72rem);
    line-height: 1.2;
    font-weight: 750;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.mbaag2026-overlay h3 {
    margin: 0;
    max-width: 96%;
    font-family: 'Playfair Display', Georgia, serif;
    color: #fff;
    font-size: clamp(1.35rem, 2.15vw, 2rem);
    line-height: 1.05;
    font-weight: 650;
    letter-spacing: -0.025em;
    text-shadow: 0 8px 28px rgba(0,0,0,.35);
    text-wrap: balance;
}

.mbaag2026-mission {
    margin: .55rem 0 0;
    color: rgba(255,255,255,.9);
    font-size: clamp(.88rem, .98vw, .98rem);
    line-height: 1.5;
    text-wrap: pretty;
}

.mbaag2026-meta {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .45rem;
    margin: clamp(.8rem, 1.4vw, 1rem) 0 0;
    padding: 0;
}

.mbaag2026-meta li {
    min-width: 0;
    padding: .55rem .5rem;
    border: 1px solid rgba(255,255,255,.22);
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(5px);
}

.mbaag2026-meta span,
.mbaag2026-meta strong {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.mbaag2026-meta span {
    margin-bottom: .18rem;
    color: rgba(255,255,255,.66);
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.mbaag2026-meta strong {
    color: #fff;
    font-size: clamp(.68rem, .82vw, .82rem);
    line-height: 1.25;
    font-weight: 650;
}

.mbaag2026-button {
    width: fit-content;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    margin-top: clamp(.85rem, 1.5vw, 1.15rem);
    padding: .72rem 1.05rem;
    color: #1a1a1a;
    background: #fff;
    border: 1px solid rgba(255,255,255,.76);
    text-decoration: none;
    text-transform: uppercase;
    font-size: .72rem;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .09em;
    transition: background .25s ease, color .25s ease, transform .25s ease;
}

.mbaag2026-button::after { content: '→'; }

.mbaag2026-button:hover {
    background: #1a1a1a;
    color: #fff;
    transform: translateY(-2px);
}

.mbaag2026-button:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 4px;
}

@media (max-width: 1180px) {
    .mbaag2026-cols-4 .mbaag2026-grid,
    .mbaag2026-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .mbaag2026-section { padding: clamp(2.75rem, 10vw, 4rem) 1rem; }

    .mbaag2026-grid,
    .mbaag2026-cols-2 .mbaag2026-grid,
    .mbaag2026-cols-3 .mbaag2026-grid,
    .mbaag2026-cols-4 .mbaag2026-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .mbaag2026-figure { aspect-ratio: 1 / 1; }

    .mbaag2026-overlay {
        opacity: 1;
        transform: none;
        padding: 1.1rem;
        background: linear-gradient(to top, rgba(0,0,0,.86) 0%, rgba(0,0,0,.52) 50%, rgba(0,0,0,.12) 100%);
    }

    .mbaag2026-meta { grid-template-columns: 1fr 1fr; }
    .mbaag2026-meta li:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

@media (max-width: 420px) {
    .mbaag2026-kicker { gap: .5rem; letter-spacing: .12em; }
    .mbaag2026-kicker::before,
    .mbaag2026-kicker::after { width: 18px; }
    .mbaag2026-overlay h3 { font-size: 1.45rem; }
    .mbaag2026-meta { grid-template-columns: 1fr; }
    .mbaag2026-meta li:last-child:nth-child(odd) { grid-column: auto; }
}

@media (hover: none) {
    .mbaag2026-overlay { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    .mbaag2026-card,
    .mbaag2026-figure img,
    .mbaag2026-placeholder,
    .mbaag2026-overlay,
    .mbaag2026-button { transition: none !important; }

    .mbaag2026-card:hover { transform: none; }

    .mbaag2026-card:hover .mbaag2026-figure img,
    .mbaag2026-card:hover .mbaag2026-placeholder { transform: none; }
}

/* En-tête harmonisé avec les autres sections du site */
.mbaag2026-heading {
    display: block;
}
.mbaag2026-heading p {
    font-weight: 400;
}


/* Version 1.1.2 — affichage overlay parfait toutes dimensions */
.mbaag2026-section {
    overflow-x: clip;
}

/* Grille plus stable sur grands écrans Elementor */
.mbaag2026-inner {
    width: min(1420px, 100%);
}

.mbaag2026-grid {
    align-items: start;
}

/* Carte plus haute pour que les informations ne soient jamais coupées */
.mbaag2026-figure {
    aspect-ratio: 1.28 / 1;
    min-height: 340px;
}

/* Overlay pensé pour titres longs + infos + bouton */
.mbaag2026-overlay {
    justify-content: flex-end;
    gap: clamp(.38rem, .7vw, .62rem);
    padding: clamp(1rem, 1.55vw, 1.45rem);
    overflow: hidden;
}

/* Les contenus gardent leurs tailles sous contrôle */
.mbaag2026-category {
    margin-bottom: 0;
    font-size: clamp(.56rem, .62vw, .68rem);
    line-height: 1.15;
}

.mbaag2026-overlay h3 {
    max-width: 100%;
    font-size: clamp(1.45rem, 1.75vw, 2.15rem);
    line-height: .98;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    overflow-wrap: anywhere;
}

.mbaag2026-mission {
    margin: 0;
    font-size: clamp(.78rem, .82vw, .94rem);
    line-height: 1.34;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Bloc infos toujours visible, même avec budget/surface longs */
.mbaag2026-meta {
    width: 100%;
    gap: clamp(.35rem, .55vw, .5rem);
    margin: clamp(.18rem, .55vw, .48rem) 0 0;
}

.mbaag2026-meta li {
    padding: clamp(.43rem, .64vw, .62rem) clamp(.4rem, .58vw, .56rem);
    min-height: 54px;
}

.mbaag2026-meta span {
    margin-bottom: .15rem;
    font-size: clamp(.49rem, .52vw, .58rem);
    letter-spacing: .105em;
    line-height: 1.1;
    white-space: nowrap;
}

.mbaag2026-meta strong {
    font-size: clamp(.64rem, .72vw, .82rem);
    line-height: 1.17;
    overflow-wrap: anywhere;
}

/* Bouton plus compact et jamais coupé */
.mbaag2026-button {
    margin-top: clamp(.28rem, .7vw, .65rem);
    padding: clamp(.6rem, .78vw, .78rem) clamp(.85rem, 1.05vw, 1.12rem);
    font-size: clamp(.61rem, .66vw, .72rem);
    line-height: 1.05;
    white-space: nowrap;
}

/* Sécurité : si le contenu dépasse malgré tout, l'overlay devient scroll interne discret au lieu de masquer les infos */
.mbaag2026-card:hover .mbaag2026-overlay,
.mbaag2026-card:focus-within .mbaag2026-overlay {
    overflow-y: auto;
    scrollbar-width: thin;
}

.mbaag2026-overlay::-webkit-scrollbar {
    width: 4px;
}

.mbaag2026-overlay::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.38);
    border-radius: 20px;
}

/* Meilleur comportement sur colonnes étroites */
@media (min-width: 1181px) and (max-width: 1480px) {
    .mbaag2026-inner {
        width: min(1320px, 100%);
    }

    .mbaag2026-figure {
        min-height: 320px;
        aspect-ratio: 1.22 / 1;
    }

    .mbaag2026-overlay h3 {
        font-size: clamp(1.35rem, 1.55vw, 1.9rem);
    }

    .mbaag2026-meta strong {
        font-size: clamp(.61rem, .66vw, .76rem);
    }
}

@media (max-width: 1180px) {
    .mbaag2026-figure {
        aspect-ratio: 1.34 / 1;
        min-height: 330px;
    }

    .mbaag2026-overlay h3 {
        font-size: clamp(1.45rem, 3.4vw, 2.05rem);
    }
}

@media (max-width: 900px) {
    .mbaag2026-figure {
        min-height: 360px;
        aspect-ratio: 1.18 / 1;
    }

    .mbaag2026-overlay {
        opacity: 1;
        transform: none;
        overflow-y: auto;
    }
}

@media (max-width: 767px) {
    .mbaag2026-figure {
        aspect-ratio: 1 / 1.05;
        min-height: 380px;
    }

    .mbaag2026-overlay {
        padding: 1rem;
        gap: .44rem;
    }

    .mbaag2026-overlay h3 {
        font-size: clamp(1.55rem, 8vw, 2.2rem);
        line-height: 1.02;
    }

    .mbaag2026-mission {
        font-size: .9rem;
        line-height: 1.36;
    }

    .mbaag2026-meta {
        grid-template-columns: 1fr 1fr;
    }

    .mbaag2026-meta li {
        min-height: 58px;
    }

    .mbaag2026-button {
        width: 100%;
        padding: .78rem .9rem;
    }
}

@media (max-width: 480px) {
    .mbaag2026-figure {
        min-height: 430px;
        aspect-ratio: 1 / 1.18;
    }

    .mbaag2026-meta {
        grid-template-columns: 1fr;
    }

    .mbaag2026-meta li {
        min-height: auto;
        padding: .52rem .62rem;
    }

    .mbaag2026-overlay h3 {
        -webkit-line-clamp: 3;
    }

    .mbaag2026-mission {
        -webkit-line-clamp: 2;
    }
}

/* Si l'utilisateur choisit 4 colonnes, on compacte davantage l'overlay */
.mbaag2026-cols-4 .mbaag2026-figure {
    min-height: 330px;
}

.mbaag2026-cols-4 .mbaag2026-overlay h3 {
    font-size: clamp(1.18rem, 1.38vw, 1.65rem);
}

.mbaag2026-cols-4 .mbaag2026-mission {
    font-size: clamp(.72rem, .78vw, .86rem);
}

.mbaag2026-cols-4 .mbaag2026-meta {
    grid-template-columns: 1fr;
}

.mbaag2026-cols-4 .mbaag2026-button {
    width: 100%;
}


/* MBA controls layer — variables Elementor */
.mbaag2026-section {
    --mbaag-font: 'Garet', 'Garett', 'Garrett', 'Inter', Arial, sans-serif;
    --mbaag-title-font: 'Garet', 'Garett', 'Garrett', 'Inter', Arial, sans-serif;
    --mbaag-card-title-font: 'Garet', 'Garett', 'Garrett', 'Inter', Arial, sans-serif;

    --mbaag-bg: #ffffff;
    --mbaag-noir: #151515;
    --mbaag-blanc: #ffffff;
    --mbaag-gris: #5f5f5f;

    --mbaag-kicker-color: rgba(26,26,26,.62);
    --mbaag-title-color: #151515;
    --mbaag-subtitle-color: #5f5f5f;

    --mbaag-overlay-bottom: rgba(0,0,0,.82);
    --mbaag-overlay-mid: rgba(0,0,0,.55);
    --mbaag-overlay-top: rgba(0,0,0,.14);
    --mbaag-overlay-opacity: .82;

    --mbaag-category-color: rgba(255,255,255,.84);
    --mbaag-card-title-color: #ffffff;
    --mbaag-mission-color: rgba(255,255,255,.9);
    --mbaag-meta-bg: rgba(255,255,255,.08);
    --mbaag-meta-border: rgba(255,255,255,.22);
    --mbaag-meta-label-color: rgba(255,255,255,.66);
    --mbaag-meta-value-color: #ffffff;
    --mbaag-button-text: #1a1a1a;
    --mbaag-button-bg: #ffffff;
    --mbaag-button-border: rgba(255,255,255,.76);
    --mbaag-button-hover-text: #ffffff;
    --mbaag-button-hover-bg: #1a1a1a;

    --mbaag-section-padding-top: 60px;
    --mbaag-section-padding-right: 20px;
    --mbaag-section-padding-bottom: 60px;
    --mbaag-section-padding-left: 20px;
    --mbaag-section-margin-top: 0px;
    --mbaag-section-margin-bottom: 0px;
    --mbaag-content-width: 1420px;
    --mbaag-grid-gap: 22px;
    --mbaag-card-radius: 14px;
    --mbaag-card-height: 425px;

    margin-top: var(--mbaag-section-margin-top) !important;
    margin-bottom: var(--mbaag-section-margin-bottom) !important;
    padding: var(--mbaag-section-padding-top) var(--mbaag-section-padding-right) var(--mbaag-section-padding-bottom) var(--mbaag-section-padding-left) !important;
    background: var(--mbaag-bg) !important;
    color: var(--mbaag-noir) !important;
    font-family: var(--mbaag-font) !important;
}

.mbaag2026-inner {
    width: min(var(--mbaag-content-width), 100%) !important;
}

.mbaag2026-grid {
    gap: var(--mbaag-grid-gap) !important;
}

.mbaag2026-card,
.mbaag2026-figure,
.mbaag2026-figure img,
.mbaag2026-placeholder {
    border-radius: var(--mbaag-card-radius) !important;
}

.mbaag2026-figure {
    height: var(--mbaag-card-height) !important;
    min-height: var(--mbaag-card-height) !important;
    aspect-ratio: auto !important;
}

.mbaag2026-section,
.mbaag2026-kicker,
.mbaag2026-heading p,
.mbaag2026-category,
.mbaag2026-mission,
.mbaag2026-meta span,
.mbaag2026-meta strong,
.mbaag2026-button {
    font-family: var(--mbaag-font) !important;
}

.mbaag2026-heading h1,
.mbaag2026-heading h2,
.mbaag2026-heading h3,
.mbaag2026-heading h4,
.mbaag2026-heading h5,
.mbaag2026-heading h6,
.mbaag2026-title-div {
    font-family: var(--mbaag-title-font) !important;
    color: var(--mbaag-title-color) !important;
}

.mbaag2026-kicker {
    color: var(--mbaag-kicker-color) !important;
}

.mbaag2026-heading p,
.mbaag2026-subtitle {
    color: var(--mbaag-subtitle-color) !important;
}

.mbaag2026-overlay {
    background: linear-gradient(to top, var(--mbaag-overlay-bottom) 0%, var(--mbaag-overlay-mid) 44%, var(--mbaag-overlay-top) 100%) !important;
}

.mbaag2026-category {
    color: var(--mbaag-category-color) !important;
}

.mbaag2026-overlay h1,
.mbaag2026-overlay h2,
.mbaag2026-overlay h3,
.mbaag2026-overlay h4,
.mbaag2026-overlay h5,
.mbaag2026-overlay h6,
.mbaag2026-card-title-div {
    font-family: var(--mbaag-card-title-font) !important;
    color: var(--mbaag-card-title-color) !important;
}

.mbaag2026-mission {
    color: var(--mbaag-mission-color) !important;
}

.mbaag2026-meta li {
    border-color: var(--mbaag-meta-border) !important;
    background: var(--mbaag-meta-bg) !important;
}

.mbaag2026-meta span {
    color: var(--mbaag-meta-label-color) !important;
}

.mbaag2026-meta strong {
    color: var(--mbaag-meta-value-color) !important;
}

.mbaag2026-button {
    color: var(--mbaag-button-text) !important;
    background: var(--mbaag-button-bg) !important;
    border-color: var(--mbaag-button-border) !important;
}

.mbaag2026-button:hover {
    color: var(--mbaag-button-hover-text) !important;
    background: var(--mbaag-button-hover-bg) !important;
}

.mbaag2026-overlay-mode-all .mbaag2026-overlay,
.mbaag2026-overlay-mode-first .mbaag2026-card:first-child .mbaag2026-overlay,
.mbaag2026-card:hover .mbaag2026-overlay,
.mbaag2026-card:focus-within .mbaag2026-overlay {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.mbaag2026-overlay-mode-hover .mbaag2026-overlay {
    opacity: 0;
    transform: translateY(16px);
}

.mbaag2026-hide-kicker .mbaag2026-kicker,
.mbaag2026-hide-subtitle .mbaag2026-subtitle,
.mbaag2026-hide-category .mbaag2026-category,
.mbaag2026-hide-mission .mbaag2026-mission,
.mbaag2026-hide-meta .mbaag2026-meta,
.mbaag2026-hide-button .mbaag2026-button {
    display: none !important;
}

.mbaag2026-hide-kicker-lines .mbaag2026-kicker::before,
.mbaag2026-hide-kicker-lines .mbaag2026-kicker::after {
    display: none !important;
}

.mbaag2026-cols-2 .mbaag2026-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.mbaag2026-cols-3 .mbaag2026-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.mbaag2026-cols-4 .mbaag2026-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

@media (max-width: 1180px) {
    .mbaag2026-tablet-cols-1 .mbaag2026-grid { grid-template-columns: 1fr !important; }
    .mbaag2026-tablet-cols-2 .mbaag2026-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .mbaag2026-tablet-cols-3 .mbaag2026-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 767px) {
    .mbaag2026-mobile-cols-1 .mbaag2026-grid { grid-template-columns: 1fr !important; }
    .mbaag2026-mobile-cols-2 .mbaag2026-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

    .mbaag2026-section {
        padding-top: min(var(--mbaag-section-padding-top), 48px) !important;
        padding-bottom: min(var(--mbaag-section-padding-bottom), 54px) !important;
        padding-left: min(var(--mbaag-section-padding-left), 16px) !important;
        padding-right: min(var(--mbaag-section-padding-right), 16px) !important;
    }

    .mbaag2026-figure {
        height: min(var(--mbaag-card-height), 430px) !important;
        min-height: min(var(--mbaag-card-height), 430px) !important;
    }

    .mbaag2026-mobile-overlay-off .mbaag2026-overlay {
        opacity: 0 !important;
        transform: translateY(16px) !important;
    }
}



/* ==========================================================================
   Version 1.6 — Nom du projet visible + infos au clic
   ========================================================================== */

/* Chaque dossier montre le nom du projet, même sans survol */
.mbaag2026-card-has-name .mbaag2026-figure::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    height: 46%;
    pointer-events: none;
    background: linear-gradient(to top, rgba(0,0,0,.68), rgba(0,0,0,.22) 56%, rgba(0,0,0,0));
}

.mbaag2026-name-strip {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 4;
    display: grid;
    gap: .32rem;
    padding: clamp(.95rem, 1.55vw, 1.35rem);
    color: #fff;
    pointer-events: none;
    transition: opacity .28s ease, transform .28s ease;
}

.mbaag2026-name-strip span {
    display: block;
    color: rgba(255,255,255,.78);
    font-size: clamp(.58rem, .72vw, .68rem);
    font-weight: 900;
    letter-spacing: .14em;
    line-height: 1.15;
    text-transform: uppercase;
}

.mbaag2026-name-strip-title {
    margin: 0 !important;
    color: #fff !important;
    font-family: var(--mbaag-card-title-font) !important;
    font-size: clamp(1.15rem, 1.8vw, 1.65rem) !important;
    font-weight: 850 !important;
    line-height: 1.03 !important;
    letter-spacing: -.035em !important;
    text-shadow: 0 8px 24px rgba(0,0,0,.34);
}

/* Overlay infos : au survol desktop ET au clic via JS */
.mbaag2026-card-clickable {
    cursor: pointer;
}

.mbaag2026-card-clickable .mbaag2026-overlay {
    pointer-events: none;
}

.mbaag2026-card-clickable.is-open .mbaag2026-overlay,
.mbaag2026-card-clickable:hover .mbaag2026-overlay,
.mbaag2026-card-clickable:focus-within .mbaag2026-overlay {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.mbaag2026-card-clickable.is-open .mbaag2026-name-strip,
.mbaag2026-card-clickable:hover .mbaag2026-name-strip,
.mbaag2026-card-clickable:focus-within .mbaag2026-name-strip {
    opacity: 0;
    transform: translateY(10px);
}

.mbaag2026-click-hint {
    display: inline-flex;
    width: fit-content;
    margin-bottom: .55rem;
    padding: .38rem .6rem;
    color: rgba(255,255,255,.72);
    border: 1px solid rgba(255,255,255,.24);
    font-size: .58rem;
    font-weight: 850;
    letter-spacing: .12em;
    line-height: 1;
    text-transform: uppercase;
}

.mbaag2026-card-clickable:focus-visible {
    outline: 2px solid rgba(209,160,79,.95);
    outline-offset: 4px;
}

/* Mobile/tablette : le nom reste visible, les infos apparaissent au tap */
@media (max-width: 767px) {
    .mbaag2026-card-has-name .mbaag2026-overlay {
        opacity: 0;
        transform: translateY(16px);
    }

    .mbaag2026-card-has-name.is-open .mbaag2026-overlay {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    .mbaag2026-card-has-name:not(.is-open) .mbaag2026-name-strip {
        opacity: 1;
        transform: none;
    }

    .mbaag2026-name-strip {
        padding: 1rem;
    }

    .mbaag2026-name-strip-title {
        font-size: 1.25rem !important;
    }
}

/* Quand l’utilisateur veut overlay toujours visible, on garde quand même le nom lisible */
.mbaag2026-overlay-mode-all .mbaag2026-name-strip,
.mbaag2026-overlay-mode-first .mbaag2026-card:first-child .mbaag2026-name-strip {
    opacity: 0;
}



/* ==========================================================================
   Version 1.7 — Correction z-index shadow / bouton / textes
   ========================================================================== */

/* La carte doit créer un contexte propre */
.mbaag2026-card,
.mbaag2026-figure {
    isolation: isolate !important;
}

/* L'image reste au fond */
.mbaag2026-card img,
.mbaag2026-placeholder {
    position: relative !important;
    z-index: 0 !important;
}

/* Les ombres/gradients restent derrière le contenu */
.mbaag2026-figure::before,
.mbaag2026-figure::after,
.mbaag2026-card::before,
.mbaag2026-card::after {
    pointer-events: none !important;
}

/* Ombre du bandeau nom : derrière uniquement */
.mbaag2026-card-has-name .mbaag2026-figure::after {
    z-index: 1 !important;
}

/* Bandeau nom projet au-dessus du shadow */
.mbaag2026-name-strip {
    z-index: 4 !important;
}

/* Overlay informations au-dessus du shadow */
.mbaag2026-overlay {
    position: absolute !important;
    z-index: 6 !important;
    pointer-events: none;
}

/* Tous les éléments internes doivent être au-dessus du gradient */
.mbaag2026-overlay > *,
.mbaag2026-category,
.mbaag2026-overlay h1,
.mbaag2026-overlay h2,
.mbaag2026-overlay h3,
.mbaag2026-overlay h4,
.mbaag2026-overlay h5,
.mbaag2026-overlay h6,
.mbaag2026-card-title-div,
.mbaag2026-mission,
.mbaag2026-meta,
.mbaag2026-meta *,
.mbaag2026-button,
.mbaag2026-click-hint {
    position: relative !important;
    z-index: 9 !important;
}

/* Le bouton doit rester au-dessus et cliquable */
.mbaag2026-button {
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.16) !important;
}

/* Les blocs Année / Surface / Budget restent au-dessus */
.mbaag2026-meta {
    position: relative !important;
    z-index: 8 !important;
    overflow: visible !important;
}

/* On évite qu'un gradient interne masque les infos */
.mbaag2026-overlay::before,
.mbaag2026-overlay::after {
    z-index: 0 !important;
    pointer-events: none !important;
}

/* Mode ouvert/click : overlay interactif sans couvrir le bouton par l'ombre */
.mbaag2026-card-clickable.is-open .mbaag2026-overlay,
.mbaag2026-card-clickable:hover .mbaag2026-overlay,
.mbaag2026-card-clickable:focus-within .mbaag2026-overlay {
    z-index: 6 !important;
    pointer-events: auto !important;
}

/* Correction spécifique : l'ombre ne doit jamais couvrir le bouton */
.mbaag2026-card-clickable.is-open .mbaag2026-figure::after,
.mbaag2026-card-clickable:hover .mbaag2026-figure::after,
.mbaag2026-card-clickable:focus-within .mbaag2026-figure::after {
    z-index: 1 !important;
}

/* Desktop : informations lisibles */
@media (min-width: 768px) {
    .mbaag2026-overlay {
        padding-bottom: clamp(1.25rem, 2vw, 2rem) !important;
    }

    .mbaag2026-button {
        margin-top: clamp(1rem, 1.5vw, 1.35rem) !important;
    }
}

/* Tablette / mobile : éviter que les infos se chevauchent */
@media (max-width: 1024px) {
    .mbaag2026-meta {
        gap: .55rem !important;
    }

    .mbaag2026-button {
        margin-top: 1rem !important;
    }
}

/* Mobile : bouton bien au-dessus et espace suffisant */
@media (max-width: 767px) {
    .mbaag2026-overlay {
        z-index: 6 !important;
        padding: 1rem !important;
    }

    .mbaag2026-meta {
        margin-top: .85rem !important;
    }

    .mbaag2026-button {
        position: relative !important;
        z-index: 10 !important;
        margin-top: .95rem !important;
    }

    .mbaag2026-name-strip {
        z-index: 4 !important;
    }
}
