.fe-favorite-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

/* coeur par défaut */
.fe-favorite-toggle svg {
    width: 22px;
    height: 22px;
    fill: #ccc;
    transition: all 0.25s ease;
}

/* hover */
.fe-favorite-toggle:hover svg {
    fill: #ff4d4d;
    transform: scale(1.1);
}

/* ❤️ SI DÉJÀ EN FAVORI */
.fe-favorite-toggle.is-favorite svg {
    fill: #ff0000 !important;
}

.fe-favorite-toggle__icon {
	width: auto;
	height: auto;
	display: inline-flex;
}

.fe-favorite-toggle__icon svg {
	width: 35px;
	height: 35px;
	fill: #b9b9b9;
	transition: all .2s ease;
}

.fe-favorite-toggle.is-favorite .fe-favorite-toggle__icon svg {
	fill: #d2a94e;
}

.fe-favorites-page--table {
    width: 100%;
}

.fe-favorites-table-wrap {
    width: 100%;
    border: none;
    background: #fff;
}

.fe-favorites-table-head,
.fe-favorites-row {
        display: grid;
        grid-template-columns: 24% 30% 10% 10% 9% 10%;
        gap: 0;
        /*align-items: center;*/
        grid-auto-flow: column;
        justify-content: space-around;
        justify-items: start;
        align-content: start;
}

.fe-favorites-table-head {
    padding: 22px 24px;
    border-bottom: 1px solid #e9e9e9;
    font-size: 16px;
    font-weight: 500;
    color: #23313f;
    background: #fff;
}

.fe-favorites-row {
    padding: 10px;
    border-bottom: 1px solid #efefef;
    background: #fff;
}

.fe-favorites-row:last-child {
    border-bottom: 0;
}

.fe-favorites-col {
    min-width: 0;
}

.fe-favorites-thumb {
    display: block;
}

.fe-favorites-thumb img,
.fe-favorites-thumb__placeholder {
    width: 100%;
    height: 165px;
    display: block;
    object-fit: cover;
    background: #f3f3f3;
}

.fe-favorites-row__title {
    margin: 0 0 14px;
    font-size: 22px;
    line-height: 1.25;
    /**********add new css *******/
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
 .fe-favorites-row:nth-child(even)
 {
    background: #f6f7f7;
}

.fe-favorites-row__ref {
    display: inline-block;
    margin-bottom: 14px;
    padding: 8px 12px;
    border-radius: 4px;
    background: #1196a8;
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    line-height: 1;
}
 

 
.fe-favorites-col--date,
.fe-favorites-col--status,
.fe-favorites-col--price,
.fe-favorites-col--actions {
    font-size: 16px;
    color: #23313f;
    /* line-height: 1.6; */
    /* padding-top: 8px; */
}

.fe-favorites-row__price,
.fe-favorites-col--price .rh_price,
.fe-favorites-col--price .price {
    color: #15a34a;
    font-size: 22px;
    font-weight: 700;
}

.fe-favorite-remove {
    color: #c79b2c;
    font-weight: 600;
    text-decoration: none;
}

.fe-favorite-remove:hover {
    text-decoration: underline;
}

@media (max-width: 1199px) {
    .fe-favorites-table-head {
        display: none;
    }

    .fe-favorites-row {
        display: grid;
        grid-template-columns: 206px 1fr !important;
        grid-template-rows: auto auto auto;
        grid-template-areas:
        "photo  info"
        "photo  meta"
        "photo  action";
        gap: 0 16px;
        padding: 16px;
        background: #fff;
    }
     .fe-favorites-col--photo {
        grid-area: photo;
        width: 206px;
        align-self: start;
    }
    .fe-favorites-thumb img,
    .fe-favorites-thumb__placeholder {
          width: 100%;
            height: auto;
            display: block;
    }
 .fe-favorites-col--info {
    grid-area: info;
    align-self: start;
  }



  /* Notifications = zone action, alignée sous info/meta */
  .fe-favorites-col--notifications {
    grid-area: action;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    margin-top: 10px;
    padding-top: 10px;

  }

  /* Ligne checkboxes Prix + Statut */
  .fe-favorites-notifs {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    order: 1;
  }
    .fe-favorites-col--date,
    .fe-favorites-col--status,
    .fe-favorites-col--price,
    .fe-favorites-col--actions {
        padding-top: 0;
    }
    .fe-favorites-row__price {
    order: 0;              /* prix EN PREMIER avant les checkboxes */
    
  }

  /* Statut — injecté via HTML dans --notifications */
  .fe-favorites-status-text {
    order: 2;
  }

  /* Supprimer : icône + texte sur la même ligne */
  .fe-favorite-remove {
    order: 3;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;              /* espace entre icône et texte */
   
  }

  .fe-favorite-remove svg {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
  }
}


.fe-favorites-row__ref {
    display: inline-block;
    margin-bottom: 14px;
    padding: 8px 12px;
    border-radius: 4px;
    background: #1196a8;
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    line-height: 1;
}

.fe-favorites-row__price {
    color: #16b15a;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
}

/* ===== COLONNE STATUT ===== */
.fe-favorites-col--status {
    padding-top: 0 !important;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    line-height: 1.5;
    font-size: 18px;
    color: #1f2f46;
    word-break: break-word;
}

.fe-favorites-col--status span {
    display: block;
    /* max-width: 180px; */
    /* line-height: 1.5; */
}

/* ===== BLOC METAS ===== */
.fe-favorites-row__meta {
        display: flex;
    align-items: flex-start;
    gap: 0;
    flex-wrap: wrap;
    margin-top: 0;
    flex-direction: row;
    justify-content: flex-start;
}

.fe-favorites-row__meta span {
       display: flex;
       flex-direction: column;
       align-items: center;
       gap: 0;
       /* min-width: 87px; */
       font-size: 11px;
       color: #1f2f46;
}

.fe-favorites-row__meta strong {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: #1f2f46;
    line-height: 1.2;
}

/* ===== LIGNE VALEUR + ICONE ===== */
.fe-favorites-row__meta .fe-meta-value {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    font-weight: 700;
    color: #1f2f46;
    line-height: 1;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: flex-start;
    justify-content: flex-start;
}

.fe-favorites-row__meta .fe-meta-icon {
    width: 25px;
    height: 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #cfcfcf;
}

.fe-favorites-row__meta .fe-meta-icon svg {
    width: 30px;
    height: 30px;
    fill: currentColor;
    display: block;
}

.fe-favorite-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-decoration: none;
}

.fe-favorite-toggle svg {
    width: 22px;
    height: 22px;
    fill: #cccccc;
    transition: all 0.25s ease;
}

.fe-favorite-toggle:hover svg {
    fill: #ff4d4d;
    transform: scale(1.08);
}

.fe-favorite-toggle.is-favorite svg {
    fill: #ff0000 !important;
}

.fe-favorites-page--table {
    width: 100%;
}

.fe-favorites-table-wrap {
    width: 100%;
    border: none;
    background: #fff;
}

 

.fe-favorites-table-head {
    padding: 10px;
    border-bottom: 1px solid #e8e8e8;
    font-size: 16px;
    font-weight: 500;
    color: #223247;
    background: #fff;
}

.fe-favorites-row {
   padding: 24px 24px 18px;
    border-bottom: 1px solid #efefef;
    background: #fff;
}

.fe-favorites-row:last-child {
    border-bottom: 0;
}

.fe-favorites-col {
    min-width: 0;
}

.fe-favorites-thumb {
    display: block;
}

.fe-favorites-thumb img,
.fe-favorites-thumb__placeholder {
    height: auto;
    width: 211px;
    display: block;
    object-fit: cover;
    background: #f3f3f3;
}

.fe-favorites-row__title {
    margin: 0 0 14px;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 700;
}

.fe-favorites-row__title a {
    color: #1f2f46;
    text-decoration: none;
	font-size:16px
}

.fe-favorites-row__ref {
    display: inline-block;
    margin-bottom: 14px;
    padding: 8px 14px;
    border-radius: 4px;
    background: #1196a8;
    color: #fff;
    font-weight: 700;
    font-size: 12px;
    line-height: 1;
}

.fe-favorites-row__excerpt {
    margin-bottom: 17px;
    font-size: 14px;
    color: #999;
    line-height: 1.7;
}
.fe-favorites-content {
    background-color: #fff;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .08);
}
.fe-favorites-row__meta {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 4px;
    flex-direction: row;
    align-content: flex-start;
    justify-content: flex-start;
    width: max-content;
    margin: 0;
    margin-bottom: 8px;
}

.fe-favorites-row__meta-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    /*min-width: 92px;*/
}

.fe-favorites-row__meta-item strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #1f2f46;
    line-height: 1.2;
    margin-bottom: 8px;
}

.fe-meta-value {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 17px;
    font-weight: 700;
    color: #1f2f46;
    line-height: 1;
}

.fe-meta-icon {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #cfcfcf;
}

.fe-meta-icon svg {
    width: 28px;
    height: 28px;
    fill: currentColor;
    display: block;
}

.fe-favorites-col--date,
.fe-favorites-col--status,
.fe-favorites-col--notifications,
.fe-favorites-col--price,
.fe-favorites-col--actions {
    font-size: 14px;
    color: #223247;
    /* line-height: 1.6; */
    /* padding-top: 6px; */
}

.fe-favorites-col--status {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    font-size: 14px;
    color: #1f2f46;
    line-height: 1.5;
    word-break: break-word;
}

.fe-favorites-col--status span {
    display: block;
    /* max-width: 140px; */
    /* line-height: 1.5; */
}

.fe-favorites-col--notifications {
    min-width: 0;
}

.fe-favorites-notifs {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.fe-favorites-notif {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #7a8798;
    font-size: 15px;
    line-height: 1;
}

.fe-favorites-notif input {
    accent-color: #1196a8;
    width: 14px;
    height: 14px;
    margin: 0;
}

.fe-favorites-notif.is-checked span {
    color: #7a8798;
}

.fe-favorites-notif-info {
    width: 20px;
    height: 20px;
    border: 1px solid #bfc6cf;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #99a2ad;
    font-size: 12px;
    line-height: 1;
    font-weight: 700;
}

.fe-favorites-col--price {
    display: flex;
    align-items: center;
    /*justify-content: flex-end;*/
    justify-content: space-between;
    flex-direction: column;
    align-content: space-around;
}

.fe-favorites-row__price {
    color: #16b15a;
    font-size: 16px;
    font-weight: 700;
    display: block;
    line-height: 1.2;
}

.fe-favorites-col--actions {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

.fe-favorite-remove {
    color: #c79b2c;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

.fe-favorite-remove:hover {
    text-decoration: underline;
}

.fe-favorites-empty {
    padding: 24px;
    background: #fff;
    border: 1px solid #e6e6e6;
}

@media (max-width: 1399px) {
    .fe-favorites-table-head,
    .fe-favorites-row {
        grid-template-columns: 220px minmax(320px, 1.5fr) 140px 140px 160px 110px 200px;
        gap: 22px;
    }
}
@media (max-width: 1365px) {
    .fe-favorites-col--date {
        display: none;
    }
}
@media (max-width: 1199px) {
    .fe-favorites-table-head {
        display: none;
    }

    .fe-favorites-row {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .fe-favorites-thumb img,
    .fe-favorites-thumb__placeholder {
        height: 220px;
    }

    .fe-favorites-col--date,
    .fe-favorites-col--status,
    .fe-favorites-col--notifications,
    .fe-favorites-col--price,
    .fe-favorites-col--actions {
        padding-top: 0;
    }
}

.fe-favorite-toggle.is-loading {
	pointer-events: none;
	cursor: default;
}
.n1immo-card-favorite {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 10;
    background: rgba(0,0,0,0.4);
    border-radius: 50%;
    padding: 8px;
}

.fe-favorites-page__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 30px;
	flex-wrap: wrap;
}

.fe-favorites-page__breadcrumb {
	font-size: 14px;
	color: #999;
	margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 0;
}

.fe-favorites-page__title {
	margin: 0;
	font-size: 34px;
	line-height: 1.2;
	color: #25324a;
}

.fe-favorites-page__counter {
	display: flex;
	align-items: center;
	gap: 12px;
}

.fe-favorites-page__number {
	font-size: 38px;
	font-weight: 700;
	color: #1496a7;
	line-height: 1;
}

.fe-favorites-page__text {
	font-size: 16px;
	line-height: 1.3;
	color: #25324a;
}

.fe-favorites-grid {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: 24px;
}

.fe-favorites-card {
	display: grid;
	grid-template-columns: 320px minmax(0, 1fr);
	gap: 24px;
	border: 1px solid #e8e8e8;
	background: #fff;
	padding: 24px;
}

.fe-favorites-card__thumb img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	display: block;
}

.fe-favorites-card__placeholder {
	height: 220px;
	background: #f2f2f2;
}

.fe-favorites-card__title {
	margin: 0 0 12px;
	font-size: 28px;
	line-height: 1.2;
}

.fe-favorites-card__title a {
	text-decoration: none;
	color: #25324a;
}

.fe-favorites-card__excerpt {
	color: #6b7280;
	margin-bottom: 20px;
	font-size: 16px;
	line-height: 1.6;
}

.fe-favorites-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin-bottom: 20px;
	color: #25324a;
}

.fe-favorites-card__bottom {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}

.fe-favorites-card__date,
.fe-favorites-card__status {
	color: #25324a;
	margin-bottom: 6px;
}

.fe-favorites-card__price {
	font-size: 34px;
	font-weight: 700;
	color: #0ea35a;
	line-height: 1.1;
}

.fe-favorite-remove {
	color: #d2a94e;
	font-weight: 500;
	text-decoration: none;
	font-size: 14px;
}

.fe-favorite-remove.is-loading {
	opacity: .5;
	pointer-events: none;
}

/* Confirmation inline suppression */
.fe-remove-confirm {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: #555;
	flex-wrap: wrap;
}

.fe-remove-confirm__label {
	white-space: nowrap;
}

.fe-remove-confirm__yes,
.fe-remove-confirm__no {
	padding: 4px 14px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	border: 1px solid;
	background: none;
	line-height: 1.6;
	transition: background .15s, color .15s;
}

.fe-remove-confirm__yes {
	border-color: #e74c3c;
	color: #e74c3c;
}
.fe-remove-confirm__yes:hover {
	background: #e74c3c;
	color: #fff;
}

.fe-remove-confirm__no {
	border-color: #bbb;
	color: #777;
}
.fe-remove-confirm__no:hover {
	background: #f0f0f0;
}

.fe-favorites-empty {
	padding: 30px;
	border: 1px solid #e8e8e8;
	background: #fff;
}

@media (max-width: 980px) {
    .fe-favorites-toolbar {
        padding: 20px 20px 20px !important;
        border-bottom: 1px solid #e5e5e5;
   }
	.fe-favorites-card {
		grid-template-columns: 1fr;
	}

	.fe-favorites-card__thumb img,
	.fe-favorites-card__placeholder {
		height: auto;
		max-height: 320px;
	}

	.fe-favorites-card__title {
		font-size: 22px;
	}

	.fe-favorites-card__price {
		font-size: 26px;
	}
}

@media (max-width: 767px) {
     .fe-favorites-row{
       grid-auto-flow: row; 
       padding: 20px 20px 20px;
       gap: 20px;
       justify-items: initial;
     }
     .fe-favorites-thumb img{
        width: 100%;
     }
    .fe-favorite-remove {
        display: flex;
        column-gap: 10px;
    }
    .fe-favorites-col--price {
        align-items: flex-start;
        row-gap: 20px;
    }
        .fe-favorites-toolbar {
          justify-content: flex-start !important;  
           margin-bottom: 0 !important;
    }
}
.fe-favorites-col.fe-favorites-col--info {
    width: 284px;
}

.fe-favorites-toolbar {
	display: flex;
	align-items: center;
	gap: 20px;
	margin: 0 0 16px;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: flex-end;
    padding: 20px 20px 0;
}

.fe-favorites-toolbar__left {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: nowrap;
	justify-content: flex-start;
	flex-direction: row;
}

.fe-favorites-toolbar__left label,
.fe-favorites-toolbar__left span,
.fe-favorites-toolbar__right {
	font-size: 14px;
	color: #25324a;
}

.fe-favorites-toolbar__left select {
	min-width: 46px;
	height: 42px;
	padding: 0 12px;
	border: 1px solid #d8d8d8;
	background: #fff;
	border-radius: 4px;
}

.fe-favorites-pagination {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 18px;
    justify-content: center;
    padding-bottom: 18px;
}

.fe-favorites-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	border: 1px solid #d8d8d8;
	background: #fff;
	color: #25324a;
	text-decoration: none;
	border-radius: 4px;
}

.fe-favorites-pagination .page-numbers.current {
	background: #1196a8;
	border-color: #1196a8;
	color: #fff;
}

.fe-favorites-status-text {
	display: block;
	width: 100%;
	color: #1f2f46 !important;
	font-size: 14px !important;
	font-weight: 500;
	line-height: 1.5;
	white-space: normal;
	word-break: break-word;
	overflow-wrap: anywhere;
}

.fe-favorites-status-text--empty {
	color: #9aa3ad !important;
}

.fe-favorite-toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/*
 * Tooltip en position:fixed injecté dans <body> via JS.
 * Cela évite tout clipping par overflow:hidden ou transform des parents
 * (cartes slider, widgets Elementor, stacking contexts).
 * left/top sont calculés par JS via getBoundingClientRect().
 */
.fe-favorite-tooltip {
	position: fixed;
	left: 0;
	top: 0;
	transform: translateX(-50%) translateY(calc(-100% - 14px));
	background: #001b44;
	color: #fff;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	padding: 7px 14px;
	white-space: nowrap;
	border-radius: 3px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.18s ease, visibility 0.18s ease;
	z-index: 99999 !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
}

.fe-favorite-tooltip::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-top: 7px solid #001b44;
}

.fe-favorite-tooltip.is-visible {
	opacity: 1;
	visibility: visible;
}

/* ─── SECTION RECOMMANDATIONS ──────────────────────────────────────────────── */


/* ── SLIDER HORIZONTAL ────────────────────────────────────────────────── */

.fe-favorites-recommended__track::-webkit-scrollbar { height: 4px; }
.fe-favorites-recommended__track::-webkit-scrollbar-track { background: transparent; }
.fe-favorites-recommended__track::-webkit-scrollbar-thumb {
	background: #d0d5dd;
	border-radius: 2px;
}


/* ══════════════════════════════════════════════════════════════════════
   FE-RECO-CARD
   ══════════════════════════════════════════════════════════════════════ */

.fe-reco-card:hover {
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.11);
	transform: translateY(-2px);
}

/* Nb de cartes visibles selon viewport */
@media (max-width: 1200px) { .fe-reco-card { flex: 0 0 calc(33.333% - 11px); } }
@media (max-width: 860px)  { .fe-reco-card { flex: 0 0 calc(50% - 8px); } }
@media (max-width: 520px)  { .fe-reco-card { flex: 0 0 84%; max-width: none; } }


/* ── ZONE IMAGE ─────────────────────────────────────────────────────── */

.fe-reco-card__image-wrap {
	position: relative;
	overflow: hidden;
	flex-shrink: 0;
	background: #dce0e5;
}

.fe-reco-card__thumb-link {
	display: block;
	text-decoration: none;
	outline: none;
}

/* Ratio fixe 4:3 via padding-top */
.fe-reco-card__thumb {
	position: relative;
	width: 100%;
	padding-top: 72%;
	overflow: hidden;
	background: #dce0e5;
}

.fe-reco-card__thumb img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.38s ease;
}

.fe-reco-card:hover .fe-reco-card__thumb img {
	transform: scale(1.05);
}

.fe-reco-card__placeholder {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #dce0e5 0%, #c8cfd6 100%);
}

/* Overlay hover */
.fe-reco-card__overlay {
	position: absolute;
	inset: 0;
	background: rgba(17, 150, 168, 0.50);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.22s ease;
	z-index: 2;
}

.fe-reco-card:hover .fe-reco-card__overlay {
	opacity: 1;
}

/* Bouton CTA */
.fe-reco-card__cta {
	display: inline-block;
	background: #1196a8;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 10px 20px;
	border-radius: 0;           /* ← cohérent avec la carte, pas de radius */
	transform: translateY(10px);
	transition: transform 0.22s ease;
	pointer-events: none;
	white-space: nowrap;
	border: 1px solid #c29b40;
	cursor: pointer;
}

.fe-reco-card:hover .fe-reco-card__cta {
	transform: translateY(0);
}


/* ── BADGES STATUTS — haut gauche, UNE LIGNE (flex-row) ─────────────── */

.fe-reco-card__badges {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 4;
	display: flex;
	flex-direction: row;        /* ← badges côte à côte sur une ligne */
	align-items: flex-start;
	flex-wrap: wrap;            /* ← wrap si trop long */
	gap: 5px;
	pointer-events: none;
	max-width: calc(100% - 90px); /* évite de déborder sur le compteur photos */
}

.fe-reco-card__badge {
	display: inline-flex;
	align-items: center;
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	padding: 5px 10px;
	border-radius: 3px;         /* léger arrondi sur les badges uniquement */
	line-height: 1.3;
	white-space: nowrap;
	color: #fff;
}

/* ── Couleurs sémantiques ── */

/* VERT  → En vente, défaut */
.fe-reco-card__badge--green {
	background: #1196a8;        /* teal du site */
}

/* ROUGE → Vendu, Archivé, Loué, Sous compromis */
.fe-reco-card__badge--red {
	background: #c0392b;
}

/* ORANGE → Exclusivité */
.fe-reco-card__badge--orange {
	background: #d2a94e;        /* doré-orange comme la charte n1immo */
}


/* ── COMPTEUR PHOTOS — haut droite, style "pill" arrondi ────────────── */

.fe-reco-card__photo-count {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: rgba(17, 150, 168, 0.88); /* teal semi-transparent */
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	padding: 5px 10px 5px 8px;
	border-radius: 0;        /* ← pill arrondi comme le site prod */
	line-height: 1;
	pointer-events: none;
	backdrop-filter: blur(4px);
	box-shadow: 0 1px 4px rgba(0,0,0,0.18);
}

.fe-reco-card__photo-count svg {
	flex-shrink: 0;
	opacity: 1;
}


/* ══════════════════════════════════════════════════════════════════════
   CORPS DE LA CARTE
   ══════════════════════════════════════════════════════════════════════ */

.fe-reco-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 12px 14px 14px;
}

/* ── Titre + cœur favori sur la même ligne ────────────────────────── */

.fe-reco-card__head {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 10px;
}

/* Cœur favori — aligné à droite du titre, taille réduite */
.fe-reco-card__fav-btn {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 2px;            /* alignement optique avec la 1ère ligne du titre */
}

/* Taille du toggle cœur dans ce contexte */
.fe-reco-card__fav-btn .fe-favorite-toggle__icon,
.fe-reco-card__fav-btn .fe-favorite-toggle__icon svg {
	width: 20px;
	height: 20px;
}

/* Pas de fond/cercle ici, juste l'icône */
.fe-reco-card__fav-btn .fe-favorite-toggle {
	background: none;
	border-radius: 0;
	padding: 0;
	width: auto;
	height: auto;
}


/* ── LIGNE SPECS : RÉF. | SURFACE | PIÈCES ─────────────────────────── */

.fe-reco-card__specs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 2px 0;
	font-size: 11px;
	font-weight: 500;
	color: #5a6a7a;
	letter-spacing: 0.2px;
	line-height: 1.6;
}

.fe-reco-card__spec {
	white-space: nowrap;
}

.fe-reco-card__spec strong {
	font-weight: 700;
	color: #1a2e45;
}

.fe-reco-card__spec--ref {
	font-weight: 600;
	color: #5a6a7a;
}

.fe-reco-card__spec--ref strong {
	color: #1a2e45;
}

.fe-reco-card__sep {
	margin: 0 6px;
	color: #c0c8d0;
	font-weight: 400;
}


.fe-favorites-recommended {
	margin-top: 48px;
	padding: 24px 18px 28px;
	border: 1px solid rgba(0, 0, 0, .08);
	border-radius: 10px;
}

.fe-favorites-recommended__title {
	margin: 0 0 24px;
	font-size: 22px;
	line-height: 1.3;
	font-weight: 600 !important;
}

/* Slider horizontal responsive */
.fe-favorites-recommended__track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	gap: 20px;
	padding-bottom: 14px;
	scrollbar-width: thin;
	scrollbar-color: #ddd transparent;
}


.fe-favorites-recommended__track::-webkit-scrollbar {
	height: 4px;
}
.fe-favorites-recommended__track::-webkit-scrollbar-track {
	background: transparent;
}
.fe-favorites-recommended__track::-webkit-scrollbar-thumb {
	background: #ddd;
	border-radius: 2px;
}

/* ─── CARTE RECOMMANDÉE ─────────────────────────────────────────────────────── */

/* 4 cartes visibles sur grand écran */
.fe-reco-card {
	display: flex;
	flex-direction: column;
	flex: 0 0 calc(25% - 15px);
	min-width: 220px;
    max-width: 340px;
	scroll-snap-align: start;
	background: #fff;
	border: 1px solid #ebebeb;
	border-radius: 0px;
	overflow: hidden;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
    cursor: pointer;
}

/* 3 cartes visibles */
@media (max-width: 1200px) {
	.fe-reco-card {
		flex: 0 0 calc(33.333% - 14px);
	}
}

/* 2 cartes visibles */
@media (max-width: 860px) {
    
	.fe-reco-card {
		flex: 0 0 calc(50% - 7px);
	}
    .fe-favorites-recommended__track { gap: 12px; }

}



/* 1.2 carte visible sur mobile (aperçu de la suivante) */
@media (max-width: 520px) {
	.fe-reco-card {
		flex: 0 0 82%;
	}
    .fe-favorites-recommended { 
        padding-top: 20px;
     }
	.fe-favorites-recommended__title { 
        font-size: 18px;
         margin-bottom: 16px; 
        }
	.fe-reco-card__body {
         padding: 10px 12px;
         }
	.fe-reco-card__title { 
        font-size: 13px; 
        -webkit-line-clamp: 2;
     }
	.fe-reco-card__cta { 
        font-size: 10px; 
        padding: 8px 14px;
     }

}

.fe-reco-card:hover {
	box-shadow: 0 4px 20px rgba(0,0,0,0.10);
	transform: translateY(-2px);
}

.fe-reco-card__thumb {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #f3f3f3;
	flex-shrink: 0;
}

.fe-reco-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.fe-reco-card:hover .fe-reco-card__thumb img {
	transform: scale(1.04);
}

.fe-reco-card__placeholder {
	width: 100%;
	height: 100%;
	background: #efefef;
}

/* Corps */
.fe-reco-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 14px 16px 16px;
	gap: 6px;
}

.fe-reco-card__title-wrap {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
}

.fe-reco-card__title {
	margin: 0;
	font-size: 14px;
	line-height: 1.35;
	font-weight: 600 !important;
	flex: 1;
	min-width: 0;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	white-space: normal; /* annule l'ancien nowrap */
	text-overflow: unset;
}

.fe-reco-card__title a {
	color: inherit;
	text-decoration: none;
}

.fe-reco-card__title a:hover {
	color: #1196a8;
}

.fe-reco-card__excerpt {
	font-size: 12px;
	color: #999;
	line-height: 1.5;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	white-space: normal;
	text-overflow: unset;
	max-width: none; /* annule l'ancien max-width: 260px */
}

.fe-reco-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	font-size: 13px;
	padding-top: 8px;
	margin-bottom: 4px;
}

.fe-favorites-recommended span.property-meta-icon {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: #555;
}

.fe-favorites-recommended span.property-meta-icon svg {
	width: 14px;
	height: 14px;
	fill: #bbb;
	flex-shrink: 0;
}

.fe-reco-card__date {
	font-size: 11px;
	color: #bbb;
	margin-top: auto;
	padding-top: 4px;
}

.fe-reco-card__status {
	display: inline-block;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #fff;
	background: #1196a8;
	border-radius: 4px;
	padding: 3px 8px;
	align-self: flex-start;
	margin-top: 4px;
}

.fe-reco-card__price {
	font-size: 16px;
	font-weight: 700;
	color: #16b15a;
	margin-top: 6px;
}

/* Mobile : réduction du texte dans les cartes slider */
@media (max-width: 520px) {
	.fe-reco-card__body {
		padding: 10px 12px;
	}

	.fe-reco-card__excerpt {
		-webkit-line-clamp: 1;
	}

	.fe-reco-card__price {
		font-size: 14px;
	}
}