body .apc-native.apc-native .row {
    display: flex !important;
    flex-wrap: wrap;
    margin: 0 -0.75rem !important;
    row-gap: 1.5rem;
}
body .apc-native.apc-native .row > [class*="col-"] {
    flex: 0 0 auto !important;
    width: 100% !important;
    padding: 0 0.75rem !important;
}
@media (min-width: 768px) {
    body .apc-native.apc-native .row > .col-md-6 { width: 50% !important; }
}
@media (min-width: 992px) {
    body .apc-native.apc-native .row > .col-lg-4 { width: 33.3333% !important; }
    body .apc-native.apc-native .row > .col-lg-5 { width: 41.6667% !important; }
    body .apc-native.apc-native .row > .col-lg-7 { width: 58.3333% !important; }
}
body .apc-native.apc-native h2,
body .apc-native.apc-native h3 {
    display: block !important;
    border: none !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
}
body .apc-native.apc-native h2::after,
body .apc-native.apc-native h3::before,
body .apc-native.apc-native h5::before {
    display: none !important;
    content: none !important;
}
body .apc-native.apc-native h5 {
    display: block !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 0 0.5rem !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 1.15rem !important;
    color: #0f172a !important;
}
body .apc-native.apc-native .card-body { background: transparent !important; }
body .apc-native.apc-native .card:hover { transform: translateY(-6px) !important; }
body .apc-native.apc-native a:not(.btn) { border-bottom: none !important; }
body .apc-native.apc-native .row img {
    border-radius: 1rem !important;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.15) !important;
}

/* ===== Grille des cartes : 3 par ligne sur écran, 2 sur smartphone ===== */
body .apc-native.apc-native .row {
    column-gap: 0 !important;   /* annule le gap: 2rem hérité */
}
body .apc-native.apc-native .row > .col-lg-4 {
    width: 50% !important;      /* smartphone : 2 par ligne */
}
@media (min-width: 768px) {
    body .apc-native.apc-native .row > .col-lg-4 {
        width: 33.3333% !important;   /* écran : 3 par ligne */
    }
}

/* Cartes plus compactes sur smartphone */
@media (max-width: 767.98px) {
    body .apc-native.apc-native .row {
        margin: 0 -0.4rem !important;
        row-gap: 0.8rem;
    }
    body .apc-native.apc-native .row > [class*="col-"] {
        padding: 0 0.4rem !important;
    }
    body .apc-native.apc-native .card-body {
        padding: 1rem 0.6rem !important;
    }
    body .apc-native.apc-native h5 {
        font-size: 0.95rem !important;
        line-height: 1.3;
    }
    body .apc-native.apc-native .card-body a {
        font-size: 0.9rem;
        margin-top: 0.5rem !important;
    }
}
