.flm-account { max-width: 980px; margin: 0 auto; }
.flm-nav { display: flex; flex-wrap: wrap; gap: .65rem; margin-bottom: 1.5rem; align-items: center; }
.flm-card, .flm-form button, .flm-favorite-button, .flm-save-search-button { display: inline-block; border: 1px solid currentColor; border-radius: 4px; padding: .55rem .8rem; text-decoration: none; cursor: pointer; }
.flm-form { display: grid; gap: 1rem; max-width: 640px; }
.flm-form label { display: grid; gap: .35rem; }
.flm-form input, .flm-form textarea { width: 100%; padding: .6rem; border: 1px solid #ccc; border-radius: 4px; }
.flm-checkbox { display: flex !important; align-items: flex-start; gap: .5rem !important; }
.flm-checkbox input { width: auto; margin-top: .2rem; }
.flm-error, .flm-notice, .flm-success { padding: 1rem; margin: 1rem 0; border: 1px solid #ccc; border-radius: 4px; }
.flm-cards { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.flm-card strong, .flm-card span { display: block; }
.flm-list { display: grid; gap: 1rem; }
.flm-list-item { border: 1px solid #ddd; border-radius: 4px; padding: 1rem; }
.flm-favorite-button.is-favorite, .flm-save-search-button.is-saved { font-weight: 700; }

.flm-favorites-results.fla-results-table {
    width: 100%;
}

.flm-favorite-row .fla-icon-btn.fla-add.is-favorite,
.flm-favorites-results .fla-icon-btn.fla-add.is-favorite {
    background: #c32528;
    border-color: #c32528;
    color: #fff;
}

.flm-saved-searches {
    gap: 14px;
}

.flm-saved-search-item label {
    display: grid;
    gap: 6px;
    font-weight: 600;
}

.flm-saved-search-name {
    width: 100%;
    max-width: 520px;
    padding: .6rem;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.flm-saved-search-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.flm-open-saved-search,
.flm-rename-saved-search,
.flm-delete-saved-search,
.flm-remove-favorite {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    border: 1px solid currentColor;
    border-radius: 4px;
    padding: .45rem .7rem;
    text-decoration: none;
    cursor: pointer;
    background: #fff;
}

.flm-saved-search-item.is-updated {
    border-color: #1f7a3f;
}

/* Tableaux favoris / recherches sauvegardées */
.flm-favorites-results .flm-favorites-head,
.flm-favorites-results .fla-result-row {
    grid-template-columns: minmax(90px, .7fr) minmax(130px, 1fr) minmax(110px, .9fr) minmax(180px, 1.4fr) minmax(180px, 1.2fr) auto;
}

.flm-saved-searches-table .flm-saved-searches-head,
.flm-saved-searches-table .fla-result-row {
    grid-template-columns: minmax(220px, 1.8fr) minmax(100px, .8fr) minmax(140px, .9fr) auto;
}

.flm-col-type,
.flm-col-search-type,
.flm-col-search-date {
    color: inherit;
}

.flm-saved-search-name {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #d5dde2;
    border-radius: 2px;
    padding: 8px 10px;
    font: inherit;
}

.flm-saved-search-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    align-items: center;
}

.flm-rename-saved-search {
    border: 1px solid currentColor;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    padding: .45rem .7rem;
    font: inherit;
}

.flm-row-notice {
    grid-column: 1 / -1;
    margin-top: 8px;
    padding: .55rem .75rem;
    border-radius: 4px;
    font-size: .95em;
}

.flm-row-notice.is-success {
    border: 1px solid #8cc69b;
    background: #eef8f0;
}

.flm-row-notice.is-error {
    border: 1px solid #d59a9a;
    background: #fff1f1;
}

/* Renommage inline des recherches sauvegardées */
.flm-col-search-name {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.flm-edit-saved-search {
    flex: 0 0 auto;
}

.flm-saved-search-title {
    min-width: 0;
    overflow-wrap: anywhere;
}

.flm-saved-search-edit {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    width: 100%;
}

.flm-saved-search-edit[hidden],
.flm-saved-search-title[hidden],
.flm-edit-saved-search[hidden] {
    display: none !important;
}

.flm-confirm-rename-saved-search,
.flm-cancel-rename-saved-search {
    border: 1px solid currentColor;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    padding: .45rem .7rem;
    font: inherit;
}

/* Demande de consultation sur place */
.flm-consultation-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4em;
    height: 1.4em;
    padding: 0 .35em;
    margin-left: .35em;
    border-radius: 999px;
    background: #c32528;
    color: #fff;
    font-size: .78em;
    line-height: 1;
}

.flm-consultation-toggle.is-in-consultation-cart {
    background: #c32528;
    border-color: #c32528;
    color: #fff;
}

.flm-consultation-items {
    display: grid;
    gap: 10px;
    margin: 10px 0 20px;
}

.flm-consultation-item {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(220px, 1.4fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid rgba(19, 35, 59, .14);
    border-radius: 8px;
    background: #fff;
}

.flm-consultation-item span {
    display: block;
    margin-top: 3px;
    font-size: .88em;
    opacity: .75;
}

.flm-consultation-form[hidden],
.flm-consultation-empty[hidden],
.flm-consultation-notice[hidden] {
    display: none !important;
}

.flm-form-actions {
    margin-top: 8px;
}

.flm-custom-button {
    border: 0;
    cursor: pointer;
}

.flm-row-notice.is-success,
.flm-consultation-notice.is-success {
    border-color: #1f7a3f;
    background: rgba(31, 122, 63, .08);
}

.flm-row-notice.is-error,
.flm-consultation-notice.is-error {
    border-color: #c32528;
    background: rgba(195, 37, 40, .08);
}

@media (max-width: 767px) {
    .flm-consultation-item {
        grid-template-columns: 1fr auto;
    }

    .flm-consultation-item > div:nth-child(2) {
        grid-column: 1 / -1;
    }
}

/* Navigation espace membre harmonisée avec les boutons du site */
.flm-nav .flm-account-nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 5px;
    margin: 0;
}

.flm-nav .flm-account-nav-link.is-active {
    font-weight: 700;
}

.flm-nav .flm-account-nav-link .texte {
    display: inline-flex;
}

.flm-nav .flm-consultation-count {
    position: relative;
    top: -1px;
}

/* La liste du formulaire de consultation reprend le visuel des favoris */
.flm-consultation-items {
    display: block;
    margin: 10px 0 20px;
}

.flm-consultation-table.fla-results-table {
    width: 100%;
}

.flm-consultation-table .flm-consultation-head,
.flm-consultation-table .flm-consultation-item {
    grid-template-columns: minmax(90px, .7fr) minmax(130px, 1fr) minmax(110px, .9fr) minmax(180px, 1.4fr) minmax(180px, 1.2fr) auto;
}

.flm-consultation-table .flm-consultation-item {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.flm-consultation-table .flm-consultation-item span {
    display: inline;
    margin: 0;
    font-size: inherit;
    opacity: 1;
}

.flm-consultation-remove.fla-icon-btn,
.flm-consultation-toggle.fla-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 767px) {
    .flm-consultation-table .flm-consultation-item {
        grid-template-columns: 1fr;
    }
}

.flm-nav .custom-button.flm-account-nav-link {
    border: 0;
}

.flm-consultation-table .flm-consultation-item > div:nth-child(2) {
    grid-column: auto;
}

/* Menu de l'espace membre : harmonisation avec les boutons French Lines / Elementor */
.flm-account .flm-nav .custom-button.button-model-normal.flm-account-nav-link {
    height: 40px;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 5px 20px;
    box-sizing: border-box;
    background-color: #FFFFFF;
    color: var(--e-global-color-secondary, #C32527);
    border: 2px solid #C32527;
    border-radius: 5px;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: none;
    overflow: hidden;
    position: relative;
    font-family: "Darker Grotesque", "quasimoda", sans-serif;
    line-height: 1;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.flm-account .flm-nav .custom-button.button-model-normal.flm-account-nav-link .texte {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    line-height: 1;
}

.flm-account .flm-nav .custom-button.button-model-normal.flm-account-nav-link .texte span {
    font-family: inherit;
    font-weight: inherit;
}

.flm-account .flm-nav .custom-button.button-model-normal.flm-account-nav-link:hover,
.flm-account .flm-nav .custom-button.button-model-normal.flm-account-nav-link:focus,
.flm-account .flm-nav .custom-button.button-model-normal.flm-account-nav-link.is-active {
    background-color: #C32527;
    color: #FFFFFF;
    border-color: #C32527;
}

.flm-account .flm-nav .custom-button.button-model-normal.flm-account-nav-link:focus-visible {
    outline: 2px solid rgba(195, 37, 39, .35);
    outline-offset: 3px;
}

.flm-account .flm-nav .flm-logout-link {
    margin-left: auto;
}

.flm-account .flm-nav .custom-button.button-model-normal.flm-account-nav-link .flm-consultation-count {
    margin-left: 6px;
    background: #C32527;
    color: #FFFFFF;
    border: 1px solid #C32527;
}

.flm-account .flm-nav .custom-button.button-model-normal.flm-account-nav-link:hover .flm-consultation-count,
.flm-account .flm-nav .custom-button.button-model-normal.flm-account-nav-link:focus .flm-consultation-count,
.flm-account .flm-nav .custom-button.button-model-normal.flm-account-nav-link.is-active .flm-consultation-count {
    background: #FFFFFF;
    color: #C32527;
    border-color: #FFFFFF;
}

@media (max-width: 767px) {
    .flm-account .flm-nav .custom-button.button-model-normal.flm-account-nav-link {
        width: 100%;
    }

    .flm-account .flm-nav .flm-logout-link {
        margin-left: 0;
    }
}

.flm-favorite-row-iconographie .flm-icono-ref {
    display: flex;
    gap: 10px;
    align-items: center;
}

.flm-favorite-row-iconographie .flm-icono-ref img {
    width: 58px;
    height: 58px;
    object-fit: cover;
    border-radius: 4px;
    flex: 0 0 auto;
    background: #f4fcfd;
}

.flm-favorite-row-iconographie .flm-icono-ref small {
    display: block;
    margin-top: 4px;
    color: #6b7280;
}
