/* ============================================================
 * CitéEdu Fiches Actions - styles v7
 * Couleurs : #0AFFC2 (vert), #00CCF5 (bleu), #FF0076 (rose)
 * Polices : now-alt-regular, now-alt-bold, now-alt-medium
 * ============================================================ */

:root {
    --fa-green: #0AFFC2;
    --fa-blue: #00CCF5;
    --fa-pink: #FF0076;
    --fa-dark: #111827;
    --fa-text: #1a1a1a;
    --fa-muted: #6b7280;
    --fa-border: #e2e5ea;
    --fa-radius: 16px;
    --fa-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    --fa-shadow-hover: 0 8px 28px rgba(0, 0, 0, 0.10);
}

/* ===== Typo custom (Use Any Font) ===== */
.fa-wrapper,
.fa-wrapper *,
.fa-banner,
.fa-banner *,
.fa-hero,
.fa-hero *,
.fa-single-content > .vc_row:first-child,
.fa-single-content > .vc_row:first-child * {
    font-family: 'now-alt-regular', sans-serif !important;
}
.fa-banner__title,
.fa-card .fa-card__title,
.fa-filters-toggle,
.fa-filters-title,
.fa-hero__title {
    font-family: 'now-alt-bold', sans-serif !important;
}
.fa-badge strong,
.fa-card__more,
.fa-filter label,
.fa-reset,
.fa-filters-subtitle,
.fa-hero__axe {
    font-family: 'now-alt-medium', sans-serif !important;
}

/* ===== Kill ALL pseudo-elements from Salient/UAF ===== */
.fa-wrapper *::before,
.fa-wrapper *::after {
    content: none !important;
    display: none !important;
}
/* Re-enable only our banner glows */
.fa-banner::before,
.fa-banner::after {
    content: '' !important;
    display: block !important;
}
/* Re-enable toggle arrow */
.fa-filters-toggle::after {
    content: '' !important;
    display: block !important;
}

/* ===== Fond blanc forcé + tuer le gris Salient ===== */
.fa-wrapper {
    margin: 0 auto !important;
    max-width: 1200px !important;
    padding: 40px 24px !important;
    box-sizing: border-box !important;
    background: transparent !important;
}
/* Fond blanc uniquement sur la row WPBakery contenant notre shortcode */
.vc_row:has(.fa-wrapper),
.vc_row:has(.fa-wrapper) > .vc_column_container > .vc_column-inner,
.vc_row:has(.fa-wrapper) > .wpb_column > .vc_column-inner {
    background-color: #fff !important;
    background-image: none !important;
    border: none !important;
    box-shadow: none !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* ===== Bloc filtres (fond bleu clair) ===== */
.fa-filters {
    background: #ECFBFA !important;
    padding: 32px 28px 28px !important;
    border-radius: var(--fa-radius) !important;
    margin-bottom: 36px !important;
    box-shadow: none !important;
    border: none !important;
}

/* En-tête dans le bloc filtres */
.fa-filters-header {
    text-align: center !important;
    margin-bottom: 24px !important;
    width: 100% !important;
}
.fa-filters-title {
    font-size: 1.6rem !important;
    color: #0c3547 !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
}
.fa-filters-subtitle {
    font-size: 0.92rem !important;
    color: #4a7a8a !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}

/* Toggle mobile */
.fa-filters-toggle {
    display: none !important;
    width: 100% !important;
    padding: 14px 20px !important;
    background: rgba(12, 53, 71, 0.06) !important;
    color: #0c3547 !important;
    border: 1px solid #b8ddd9 !important;
    border-radius: 12px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    text-align: left !important;
    position: relative !important;
    box-sizing: border-box !important;
}
.fa-filters-toggle::after {
    position: absolute !important;
    right: 20px !important;
    top: 50% !important;
    width: 10px !important;
    height: 10px !important;
    border-right: 2px solid #0c3547 !important;
    border-bottom: 2px solid #0c3547 !important;
    border-left: none !important;
    border-top: none !important;
    background: none !important;
    transform: translateY(-60%) rotate(45deg) !important;
    transition: transform .3s !important;
    border-radius: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    filter: none !important;
}
.fa-filters-toggle.is-open::after {
    transform: translateY(-30%) rotate(-135deg) !important;
}

/* Inner flex container */
.fa-filters-inner {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    align-items: flex-end !important;
    width: 100% !important;
}
.fa-filter {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 200px !important;
    min-width: 0 !important;
}
.fa-filter label {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    color: #4a7a8a !important;
    margin-bottom: 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    line-height: 1 !important;
}
.fa-filter label svg {
    flex-shrink: 0 !important;
    opacity: 0.7 !important;
    display: inline-block !important;
    color: #1a6b7a !important;
    stroke: #1a6b7a !important;
}
/* ===== Multiselect dropdown ===== */
.fa-multiselect {
    position: relative !important;
    width: 100% !important;
}
.fa-multiselect__toggle {
    width: 100% !important;
    padding: 0 40px 0 16px !important;
    border: 1.5px solid #b8ddd9 !important;
    border-radius: 10px !important;
    background-color: #fff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234a7a8a' stroke-width='2' fill='none'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    font-size: 0.95rem !important;
    color: #0c3547 !important;
    cursor: pointer !important;
    transition: border-color .2s, background-color .2s !important;
    box-sizing: border-box !important;
    height: 46px !important;
    line-height: 46px !important;
    text-align: left !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    font-family: 'now-alt-regular', sans-serif !important;
}
.fa-multiselect.is-open .fa-multiselect__toggle {
    border-color: #1a6b7a !important;
    background-color: #fff !important;
    box-shadow: 0 0 0 3px rgba(0, 204, 245, 0.15) !important;
}
.fa-multiselect__dropdown {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 6px) !important;
    left: 0 !important;
    min-width: 100% !important;
    width: max-content !important;
    max-width: 380px !important;
    background: #fff !important;
    border: 1.5px solid #b8ddd9 !important;
    border-radius: 10px !important;
    padding: 6px 0 !important;
    z-index: 999 !important;
    max-height: 300px !important;
    overflow-y: auto !important;
    box-shadow: 0 8px 24px rgba(12, 53, 71, 0.12) !important;
    flex-direction: column !important;
}
.fa-multiselect.is-open .fa-multiselect__dropdown {
    display: flex !important;
    flex-direction: column !important;
}
.fa-multiselect__option {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 9px 16px !important;
    cursor: pointer !important;
    color: #0c3547 !important;
    font-size: 0.88rem !important;
    transition: background .15s !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    text-transform: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.fa-multiselect__option:hover {
    background: #ECFBFA !important;
}
.fa-multiselect__option input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    accent-color: #1a6b7a !important;
    cursor: pointer !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
}
.fa-multiselect__option span {
    color: #0c3547 !important;
    font-family: 'now-alt-regular', sans-serif !important;
    text-transform: none !important;
}
.fa-multiselect__toggle {
    text-transform: none !important;
}
/* Re-enable checkbox pseudo-elements */
.fa-multiselect__option input[type="checkbox"]::before,
.fa-multiselect__option input[type="checkbox"]::after {
    content: revert !important;
    display: revert !important;
}
.fa-reset {
    padding: 0 20px !important;
    height: 46px !important;
    line-height: 46px !important;
    background: transparent !important;
    border: 1.5px solid #b8ddd9 !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    color: #4a7a8a !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    transition: all .2s !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
}
.fa-reset:hover {
    color: #0c3547 !important;
    border-color: #1a6b7a !important;
    background: rgba(0, 204, 245, 0.08) !important;
}

/* ===== Hero pleine largeur (page fiche) ===== */
.fa-hero {
    position: relative !important;
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    min-height: 60vh !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-color: var(--fa-dark) !important;
    display: flex !important;
    align-items: flex-end !important;
    overflow: hidden !important;
}
.fa-hero__overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(17,24,39,0.25) 0%, rgba(17,24,39,0.85) 100%) !important;
    z-index: 1 !important;
}
.fa-hero__inner {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 60px 36px 48px !important;
    box-sizing: border-box !important;
}
.fa-hero__axe {
    display: inline-block !important;
    background: #ffcf00 !important;
    color: #000 !important;
    padding: 6px 16px !important;
    border-radius: 999px !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    text-transform: none !important;
    margin-bottom: 16px !important;
    font-family: 'now-alt-bold', sans-serif !important;
}
.fa-hero__title {
    color: #fff !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    font-size: 2.4rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    font-family: 'now-alt-bold', sans-serif !important;
    text-shadow: 0 2px 12px rgba(0,0,0,0.3) !important;
}
.fa-hero__badges {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-bottom: 16px !important;
}
.fa-badge {
    padding: 8px 16px !important;
    border-radius: 999px !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    display: inline-block !important;
}
.fa-badge--public {
    background: rgba(0, 204, 245, 0.2) !important;
    color: #fff !important;
    border: 1px solid rgba(0, 204, 245, 0.4) !important;
    backdrop-filter: blur(4px) !important;
}
.fa-badge--structure {
    background: rgba(255, 0, 118, 0.2) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 0, 118, 0.4) !important;
    backdrop-filter: blur(4px) !important;
}
.fa-hero__porteur {
    font-size: 0.92rem !important;
    color: rgba(255, 255, 255, 0.75) !important;
}
.fa-hero__porteur strong {
    color: #fff !important;
}
.fa-badge a { color: inherit !important; text-decoration: none !important; }
.fa-badge a:hover { text-decoration: underline !important; }
.fa-badge strong { font-weight: 600 !important; }

/* Hide Salient default_minimal post header (title area causing gap) */
.single-fiche_action .heading-title[data-header-style="default_minimal"] {
    display: none !important;
}

/* Kill gap between Salient header and hero */
.single-fiche_action .container-wrap {
    padding-top: 0 !important;
}
.single-fiche_action #page-header-bg,
.single-fiche_action .page-header-no-bg,
.single-fiche_action #nectar_fullscreen_rows > .wpb_row:first-child,
.single-fiche_action .nectar-box-roll {
    display: none !important;
}
.single-fiche_action .main-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
.single-fiche_action .post-area,
.single-fiche_action .post-content,
.single-fiche_action .inner-wrap,
.single-fiche_action .content-inner,
.single-fiche_action article.fiche_action {
    padding: 0 !important;
    margin: 0 !important;
}

/* Hide Salient's native featured image on single fiche pages */
.single-fiche_action .post-featured-img,
.single-fiche_action .wp-post-image,
.single-fiche_action .single-post-featured-img,
.single-fiche_action .nectar-post-featured-img,
.single-fiche_action .post_featured_image,
.single-fiche_action .content-inner > .img-with-tml-img,
.single-fiche_action .content-inner > img.wp-post-image {
    display: none !important;
}

/* Contenu sous le hero */
.fa-single-content {
    margin: 0 auto !important;
    padding: 0 !important;
    font-size: 1.05rem !important;
    line-height: 1.75 !important;
    color: var(--fa-text) !important;
}
/* Description block: first WPBakery row inside fa-single-content */
.fa-single-content > .vc_row:first-child {
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 72px 80px !important;
    box-sizing: border-box !important;
}
.fa-single-content > .vc_row:first-child p {
    margin-bottom: 0 !important;
    font-size: 1.1rem !important;
    line-height: 1.85 !important;
}

/* ===== Hero responsive ===== */
@media (max-width: 680px) {
    .fa-hero {
        min-height: 50vh !important;
    }
    .fa-hero__inner {
        padding: 40px 20px 32px !important;
    }
    .fa-hero__title {
        font-size: 1.6rem !important;
    }
    .fa-single-content > .vc_row:first-child {
        padding: 40px 24px !important;
    }
}

/* ===== Preview (homepage 3 projects) ===== */
.fa-preview-wrapper {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 20px 24px !important;
    box-sizing: border-box !important;
}
.fa-preview-wrapper .fa-cards--preview {
    grid-template-columns: repeat(3, 1fr) !important;
}
.fa-preview-wrapper .fa-card,
.fa-preview-wrapper .fa-card * {
    font-family: 'now-alt-regular', sans-serif !important;
}
.fa-preview-wrapper .fa-card__title {
    font-family: 'now-alt-bold', sans-serif !important;
}
.fa-preview-cta {
    text-align: center !important;
    margin-top: 36px !important;
}
.fa-preview-cta__btn {
    display: inline-block !important;
    padding: 14px 36px !important;
    background: var(--fa-dark) !important;
    color: #fff !important;
    text-decoration: none !important;
    border-radius: 999px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    transition: background .2s, transform .2s !important;
    font-family: 'now-alt-medium', sans-serif !important;
}
.fa-preview-cta__btn:hover {
    background: #1a6b7a !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
}
@media (max-width: 960px) {
    .fa-preview-wrapper .fa-cards--preview {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 680px) {
    .fa-preview-wrapper .fa-cards--preview {
        grid-template-columns: 1fr !important;
    }
}

/* Results count */
.fa-results-count {
    font-size: 0.95rem !important;
    color: var(--fa-muted) !important;
    margin-bottom: 20px !important;
    font-family: 'now-alt-regular', sans-serif !important;
}
.fa-results-number {
    font-family: 'now-alt-bold', sans-serif !important;
    color: var(--fa-dark) !important;
}
.fa-count-data {
    display: none !important;
}

/* Hide cards beyond 6th by default — JS adds .fa-cards--revealed to show more */
.fa-cards .fa-card:nth-child(n+7) {
    display: none !important;
}
.fa-cards.fa-cards--show-12 .fa-card:nth-child(-n+12),
.fa-cards.fa-cards--show-18 .fa-card:nth-child(-n+18),
.fa-cards.fa-cards--show-24 .fa-card:nth-child(-n+24),
.fa-cards.fa-cards--show-30 .fa-card:nth-child(-n+30),
.fa-cards.fa-cards--show-36 .fa-card:nth-child(-n+36),
.fa-cards.fa-cards--show-42 .fa-card:nth-child(-n+42),
.fa-cards.fa-cards--show-48 .fa-card:nth-child(-n+48),
.fa-cards.fa-cards--show-54 .fa-card:nth-child(-n+54),
.fa-cards.fa-cards--show-60 .fa-card:nth-child(-n+60),
.fa-cards.fa-cards--show-66 .fa-card:nth-child(-n+66),
.fa-cards.fa-cards--show-72 .fa-card:nth-child(-n+72),
.fa-cards.fa-cards--show-all .fa-card {
    display: flex !important;
}

/* ===== Grille de cartes – 3 colonnes desktop ===== */
.fa-cards {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 28px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.fa-card {
    background: #fff !important;
    border-radius: var(--fa-radius) !important;
    overflow: hidden !important;
    box-shadow: var(--fa-shadow) !important;
    text-decoration: none !important;
    color: var(--fa-text) !important;
    display: flex !important;
    flex-direction: column !important;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease !important;
    border: 1.5px solid var(--fa-border) !important;
    height: 100% !important;
}
.fa-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: var(--fa-shadow-hover) !important;
    border-color: var(--fa-blue) !important;
    color: var(--fa-text) !important;
}

.fa-card__media {
    position: relative !important;
    width: 100% !important;
    padding-top: 56.25% !important; /* 16:9 ratio (1920x1080) */
    overflow: hidden !important;
    background: linear-gradient(135deg, #f0f4f8, #e2e8f0) !important;
}
.fa-card__media img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform .5s ease !important;
}
.fa-card:hover .fa-card__media img { transform: scale(1.06) !important; }
.fa-card__media--placeholder {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(135deg, var(--fa-blue), var(--fa-green)) !important;
    opacity: 0.15 !important;
}
.fa-card__axe {
    position: absolute !important;
    bottom: 12px !important;
    left: 12px !important;
    max-width: calc(100% - 24px) !important;
    background: #ffcf00 !important;
    color: #000 !important;
    padding: 8px 16px !important;
    border-radius: 999px !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
    z-index: 2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.fa-card__body {
    padding: 22px 22px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}
.fa-card .fa-card__title {
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: var(--fa-dark) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-transform: none !important;
    min-height: 4.05em !important;
}
.fa-card__excerpt {
    color: var(--fa-muted) !important;
    font-size: 0.88rem !important;
    line-height: 1.55 !important;
    margin: 0 0 18px 0 !important;
    flex: 1 1 auto !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 4.1em !important;
}
/* Card meta (public + structure) */
.fa-card__meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
}
.fa-card__meta-item {
    display: inline-flex !important;
    align-items: center !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 0.78rem !important;
    color: var(--fa-muted) !important;
    line-height: 1.3 !important;
    font-family: 'now-alt-regular', sans-serif !important;
}
.fa-card__meta-item svg {
    flex-shrink: 0 !important;
    opacity: 0.5 !important;
    display: inline-block !important;
    stroke: var(--fa-muted) !important;
}
/* Re-enable SVG in card meta */
.fa-card__meta-item svg *,
.fa-card__meta-item svg {
    content: revert !important;
    display: revert !important;
}

/* +N structures badge with tooltip */
.fa-card__more-structures {
    display: inline-block !important;
    background: #e8f4f8 !important;
    color: #1a6b7a !important;
    padding: 1px 7px !important;
    border-radius: 8px !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    margin-left: 4px !important;
    position: relative !important;
    cursor: default !important;
    font-family: 'now-alt-medium', sans-serif !important;
    white-space: nowrap !important;
}
.fa-card__more-structures::before,
.fa-card__more-structures::after {
    content: revert !important;
    display: revert !important;
}
.fa-card__more-structures::after {
    content: attr(data-tooltip) !important;
    display: none !important;
    position: absolute !important;
    bottom: calc(100% + 8px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: var(--fa-dark) !important;
    color: #fff !important;
    padding: 8px 14px !important;
    border-radius: 8px !important;
    font-size: 0.78rem !important;
    font-weight: 400 !important;
    white-space: normal !important;
    max-width: 260px !important;
    width: max-content !important;
    z-index: 10 !important;
    pointer-events: none !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    font-family: 'now-alt-regular', sans-serif !important;
    line-height: 1.4 !important;
    text-align: center !important;
}
.fa-card__more-structures::before {
    content: '' !important;
    display: none !important;
    position: absolute !important;
    bottom: calc(100% + 2px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    border: 5px solid transparent !important;
    border-top-color: var(--fa-dark) !important;
    z-index: 10 !important;
}
.fa-card__more-structures:hover::after,
.fa-card__more-structures:hover::before {
    display: block !important;
}

.fa-card .fa-card__more {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: var(--fa-blue) !important;
    font-weight: 700 !important;
    font-size: 0.88rem !important;
    transition: gap .2s !important;
    margin-top: auto !important;
    text-decoration: none !important;
}
.fa-card:hover .fa-card__more { gap: 10px !important; }

/* ===== Pagination ===== */
.fa-pagination {
    display: flex !important;
    gap: 8px !important;
    justify-content: center !important;
    margin-top: 36px !important;
    flex-wrap: wrap !important;
    padding: 0 !important;
    list-style: none !important;
}
.fa-page {
    width: 42px !important;
    height: 42px !important;
    border-radius: 10px !important;
    border: 1.5px solid var(--fa-border) !important;
    background: #fff !important;
    cursor: pointer !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    color: var(--fa-text) !important;
    transition: all .2s !important;
    padding: 0 !important;
}
.fa-page:hover {
    border-color: var(--fa-blue) !important;
    color: var(--fa-blue) !important;
}
.fa-page.is-active {
    background: var(--fa-dark) !important;
    color: var(--fa-green) !important;
    border-color: var(--fa-dark) !important;
}

.fa-empty {
    text-align: center !important;
    padding: 80px 20px !important;
}
.fa-empty__text {
    color: var(--fa-muted) !important;
    font-size: 1.05rem !important;
    margin: 0 0 20px 0 !important;
}
.fa-empty__reset {
    display: inline-block !important;
    padding: 12px 28px !important;
    background: var(--fa-dark) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background .2s !important;
    font-family: 'now-alt-medium', sans-serif !important;
}
.fa-empty__reset:hover {
    background: #1a6b7a !important;
}

/* ===== Voir plus ===== */
.fa-loadmore-wrap {
    text-align: center !important;
    margin-top: 32px !important;
    padding: 0 !important;
}
.fa-loadmore {
    display: inline-block !important;
    padding: 14px 36px !important;
    background: var(--fa-dark) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background .2s, transform .2s !important;
    font-family: 'now-alt-medium', sans-serif !important;
}
.fa-loadmore:hover {
    background: #1a6b7a !important;
    transform: translateY(-2px) !important;
}

/* ===== RESPONSIVE ===== */

@media (max-width: 960px) {
    .fa-cards {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

@media (max-width: 680px) {
    .fa-wrapper {
        padding: 24px 16px !important;
    }
    .fa-filters {
        padding: 20px 16px !important;
    }
    .fa-filters-title {
        font-size: 1.3rem !important;
    }
    .fa-banner { padding: 32px 24px !important; }
    .fa-banner .fa-banner__title { font-size: 1.7rem !important; }

    /* Filtres en accordéon */
    .fa-filters-toggle {
        display: block !important;
    }
    .fa-filters-inner {
        display: none !important;
        flex-direction: column !important;
        gap: 14px !important;
        padding-top: 16px !important;
        box-sizing: border-box !important;
    }
    .fa-filters-inner.is-open {
        display: flex !important;
    }
    .fa-filter {
        flex: none !important;
        width: 100% !important;
    }
    .fa-filter select {
        width: 100% !important;
    }
    .fa-reset {
        width: 100% !important;
        justify-content: center !important;
    }

    /* Cartes 1 colonne */
    .fa-cards {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .fa-card__body { padding: 18px !important; }
}
