/**
 * LUXIMMO vitrine — PAGE NOS BIENS (catalog, cards, pagination; aussi mes-favoris)
 * Chargé via theme.addCustomCSS sur la page concernée.
 */

/* ========== PAGE NOS BIENS ========== */

/* --- Hero : min 275px, hauteur = titre + filtres (pas de max-height qui clippe / bloque les clics) --- */
		.luximmo-nos-biens {
			--lux-nos-hero-band: 17.1875rem; /* 275px */
			--lux-nos-hero-header-pull: 9.5rem; /* 152px */
			--lux-nb-fw-hero: 500;
			--lux-nb-fw-card-title: 500;
			--lux-nb-fw-card-price: 500;
			--lux-nb-fw-card-meta: 400;
			--lux-nb-card-media-ratio: 570 / 320; /* ref. luximmo.pro */
			--lux-nb-card-min-height: 24.75rem; /* ~396px total @ ~570px card width */
			--lux-nb-card-body-min-height: 4.75rem; /* ~76px — badge, titre, méta (dont terrain) */
			--bs-body-font-family: var(--luximmo-font-sans, "Montserrat", Arial, sans-serif);
			--bs-font-sans-serif: var(--luximmo-font-sans, "Montserrat", Arial, sans-serif);
			--bs-body-font-weight: 400;
			font-family: var(--luximmo-font-sans, "Montserrat", Arial, sans-serif);
			font-size: 0.9rem;
			font-weight: 400;
			line-height: 1.5;
			color: #000;
		}
		/* Bootstrap .form-control utilise system-ui — forcer Montserrat sur toute la page */
		.luximmo-nos-biens input,
		.luximmo-nos-biens select,
		.luximmo-nos-biens textarea,
		.luximmo-nos-biens button,
		.luximmo-nos-biens .btn,
		.luximmo-nos-biens .form-control,
		.luximmo-nos-biens .form-select,
		.luximmo-nos-biens .lux-home-type-toggle,
		.luximmo-nos-biens .lux-home-stacked-select-label,
		.luximmo-nos-biens .lux-home-type-value,
		.luximmo-nos-biens .lux-home-type-option,
		.luximmo-nos-biens .luximmo-nos-page-hero-title,
		.luximmo-nos-biens .luximmo-bien-card,
		.luximmo-nos-biens .luximmo-nos-catalog-summary,
		.luximmo-nos-biens .luximmo-nos-catalog-footer {
			font-family: var(--luximmo-font-sans, "Montserrat", Arial, sans-serif);
		}
		.luximmo-nos-biens .luximmo-nos-page-hero {
			position: relative;
			z-index: 20;
			display: block;
			min-height: var(--lux-nos-hero-band);
			height: auto;
			overflow: visible;
			background-color: var(--luximmo-teal-dark);
		}
		.luximmo-nos-biens .luximmo-nos-page-hero-media,
		.luximmo-nos-biens .luximmo-nos-page-hero-overlay {
			position: absolute;
			left: 0;
			right: 0;
			top: calc(-1 * var(--lux-nos-hero-header-pull));
			height: calc(100% + var(--lux-nos-hero-header-pull));
			pointer-events: none;
		}
		.luximmo-nos-biens .luximmo-nos-page-hero-media {
			z-index: 0;
			background-size: cover;
			background-position: center center;
			background-repeat: no-repeat;
		}
		.luximmo-nos-biens .luximmo-nos-page-hero-overlay {
			z-index: 1;
			background: rgba(30, 73, 81, 0.58);
		}
		.luximmo-nos-biens .luximmo-nos-page-hero-bottom {
			position: relative;
			z-index: 2;
			display: flex;
			flex-direction: column;
			align-items: stretch;
			width: 100%;
			max-width: 80rem;
			margin: 0 auto;
			/* Sous le header overlay (logo + nav) — évite que la barre de nav bloque les clics */
			padding: var(--lux-nos-hero-header-pull) 1.25rem 1.25rem;
			box-sizing: border-box;
		}
		.luximmo-nos-biens .luximmo-nos-page-hero-inner {
			display: block;
			flex-shrink: 0;
			text-align: center;
			margin: 0 0 0.85rem;
			padding: 0;
		}
		@media (max-width: 991.98px) {
			.luximmo-nos-biens {
				--lux-nos-hero-band: 15.5rem;
				--lux-nos-hero-header-pull: 5.5rem;
			}
			.luximmo-nos-biens .luximmo-nos-page-hero-bottom {
				padding: var(--lux-nos-hero-header-pull) 1rem 0.85rem;
			}
		}
		.luximmo-nos-biens .luximmo-nos-page-hero-title {
			margin: 0;
			font-size: clamp(1.5rem, 3.5vw, 2.25rem); /* 36px — ref. luximmo.pro /nos-biens */
			font-weight: var(--lux-nb-fw-hero);
			line-height: 1.2;
			letter-spacing: 0;
			color: #fff;
			text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip {
			position: relative;
			z-index: 1;
			width: 100%;
			background: transparent;
			padding: 0;
			overflow: visible;
		}
		.luximmo-nos-biens .luximmo-nos-catalog-shell {
			width: 100%;
			max-width: 80rem;
			margin-left: auto;
			margin-right: auto;
			padding-left: clamp(0.75rem, 2vw, 1.5rem);
			padding-right: clamp(0.75rem, 2vw, 1.5rem);
			box-sizing: border-box;
		}
		.luximmo-nos-biens .luximmo-nos-catalog-form {
			--lux-nb-field-h: 2.625rem; /* 42px — ref. luximmo.pro */
			--lux-nb-field-pad-x: 0.9375rem; /* 15px */
			--lux-nb-field-pad-top: 1rem; /* 16px */
			--lux-nb-field-pad-bottom: 0.1875rem; /* 3px */
			--lux-nb-field-text: 0.9rem; /* 14.4px */
			--lux-nb-field-label: 0.75rem; /* 12px */
			--lux-nb-field-color: #6a6a6a;
			--lux-nb-field-label-color: #a1a1a1;
			--lux-nb-grid-gap: 0.5rem;
			--lux-nb-grid-cols: 2;
			width: 100%;
		}
		.luximmo-nos-biens .luximmo-nos-catalog-primary {
			width: 100%;
			overflow: visible;
		}
		/* Grille unique : champs, cases à cocher et actions — colonnes de largeur égale */
		.luximmo-nos-biens .luximmo-nos-catalog-grid {
			display: grid;
			width: 100%;
			gap: var(--lux-nb-grid-gap);
			grid-template-columns: repeat(var(--lux-nb-grid-cols), minmax(0, 1fr));
			align-items: stretch;
			overflow: visible;
		}
		.luximmo-nos-biens .luximmo-nos-catalog-cell--advanced {
			display: none;
		}
		.luximmo-nos-biens .luximmo-nos-catalog-grid.is-advanced-open .luximmo-nos-catalog-cell--advanced {
			display: block;
		}
		.luximmo-nos-biens .luximmo-nos-catalog-grid.is-advanced-open .lux-home-field--check.luximmo-nos-catalog-cell--advanced {
			display: flex;
		}
		.luximmo-nos-biens .lux-home-field {
			min-width: 0;
			overflow: visible;
		}
		.luximmo-nos-biens .lux-home-field > .lux-float-field,
		.luximmo-nos-biens .lux-home-field > .lux-home-stacked-select {
			width: 100%;
		}
		/* + et Rechercher : une seule cellule de grille (= 1 colonne), sous-grille interne */
		.luximmo-nos-biens .luximmo-nos-catalog-actions {
			min-width: 0;
			display: grid;
			grid-template-columns: var(--lux-nb-field-h) minmax(0, 1fr);
			align-items: stretch;
			gap: var(--lux-nb-grid-gap);
			width: 100%;
		}
		.luximmo-nos-biens .luximmo-nos-catalog-actions .luximmo-nos-btn-more,
		.luximmo-nos-biens .luximmo-nos-catalog-actions .luximmo-nos-btn-search {
			width: 100%;
			min-width: 0;
		}
		@media (max-width: 575.98px) {
			.luximmo-nos-biens .luximmo-nos-catalog-form {
				--lux-nb-grid-cols: 1;
			}
		}
		@media (min-width: 576px) {
			.luximmo-nos-biens .luximmo-nos-catalog-form {
				--lux-nb-grid-cols: 3;
			}
		}
		@media (min-width: 768px) {
			.luximmo-nos-biens .luximmo-nos-catalog-form {
				--lux-nb-grid-cols: 4;
			}
		}
		@media (min-width: 1200px) {
			/* Fermé : 6 colonnes (offre + 4 filtres + boutons) — ref. luximmo.pro */
			.luximmo-nos-biens .luximmo-nos-catalog-form {
				--lux-nb-grid-cols: 6;
			}
			.luximmo-nos-biens .luximmo-nos-catalog-grid {
				grid-template-columns: repeat(6, minmax(0, 1fr));
			}
			.luximmo-nos-biens .luximmo-nos-catalog-grid:not(.is-advanced-open) .luximmo-nos-catalog-actions {
				grid-column: 6;
				grid-row: 1;
			}
			/* Vente / location : pas de filtre offre (déjà sur la page) */
			.luximmo-nos-biens .luximmo-nos-catalog-form.luximmo-nos-catalog-form--no-offre {
				--lux-nb-grid-cols: 5;
			}
			.luximmo-nos-biens .luximmo-nos-catalog-form.luximmo-nos-catalog-form--no-offre .luximmo-nos-catalog-grid {
				grid-template-columns: repeat(5, minmax(0, 1fr));
			}
			.luximmo-nos-biens .luximmo-nos-catalog-form.luximmo-nos-catalog-form--no-offre .luximmo-nos-catalog-grid:not(.is-advanced-open) .luximmo-nos-catalog-actions {
				grid-column: 5;
			}
			/* Ouvert : 7 colonnes (favoris) / 6 sans offre */
			.luximmo-nos-biens .luximmo-nos-page-hero--advanced-open .luximmo-nos-catalog-form {
				--lux-nb-grid-cols: 7;
			}
			.luximmo-nos-biens .luximmo-nos-page-hero--advanced-open .luximmo-nos-catalog-form.luximmo-nos-catalog-form--no-offre {
				--lux-nb-grid-cols: 6;
			}
			.luximmo-nos-biens .luximmo-nos-catalog-grid.is-advanced-open,
			.luximmo-nos-biens .luximmo-nos-page-hero--advanced-open .luximmo-nos-catalog-grid {
				grid-template-columns: repeat(7, minmax(0, 1fr));
			}
			.luximmo-nos-biens .luximmo-nos-page-hero--advanced-open .luximmo-nos-catalog-form.luximmo-nos-catalog-form--no-offre .luximmo-nos-catalog-grid {
				grid-template-columns: repeat(6, minmax(0, 1fr));
			}
			.luximmo-nos-biens .luximmo-nos-catalog-grid.is-advanced-open .luximmo-nos-catalog-actions,
			.luximmo-nos-biens .luximmo-nos-page-hero--advanced-open .luximmo-nos-catalog-actions {
				grid-column: 1;
				grid-row: 3;
			}
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .form-control,
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .form-select {
			border-radius: 0;
			border: 1px solid #ced4da;
			background: #fff;
			height: var(--lux-nb-field-h);
			font-size: var(--lux-nb-field-text);
			color: var(--lux-nb-field-color);
			line-height: 1.25;
			padding: var(--lux-nb-field-pad-top) var(--lux-nb-field-pad-x) var(--lux-nb-field-pad-bottom);
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-float-field {
			position: relative;
			height: var(--lux-nb-field-h);
			box-sizing: border-box;
			background: #fff;
			border: 1px solid #ced4da;
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-home-stacked-select {
			position: relative;
			height: 2.5rem;
			box-sizing: border-box;
			background: #fff;
			border: 1px solid #ced4da;
			transition: border-color 0.25s ease;
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-home-type-toggle {
			width: 100%;
			height: 100%;
			border: 0;
			background: #fff;
			padding: 0.35rem 2.25rem 0.3rem 1rem;
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			justify-content: center;
			position: relative;
			color: #666;
			font-size: 0.8rem;
			line-height: 1;
			text-align: left;
			gap: 0;
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-home-type-toggle::after {
			content: "";
			position: absolute;
			right: 0.92rem;
			top: 50%;
			margin-top: -0.08rem;
			width: 0;
			height: 0;
			border-left: 0.24rem solid transparent;
			border-right: 0.24rem solid transparent;
			border-top: 0.28rem solid #7b7b7b;
			transition: transform 0.2s ease;
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-home-stacked-select.is-open .lux-home-type-toggle::after {
			transform: rotate(180deg);
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-home-stacked-select-label {
			display: block;
			position: static;
			margin: 0;
			font-size: 0.74rem;
			line-height: 1;
			letter-spacing: 0.01em;
			color: #a1a1a1;
			pointer-events: none;
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-home-type-value {
			display: block;
			margin: 0.1rem 0 0;
			color: #666;
			font-size: 0.8rem;
			line-height: 1;
			font-weight: 400;
			white-space: nowrap;
			overflow: hidden;
			text-overflow: ellipsis;
			max-width: 100%;
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-home-type-panel {
			position: absolute;
			left: 0;
			right: auto;
			width: 100%;
			top: calc(100% - 1px);
			bottom: auto;
			background: #fff;
			border: 1px solid var(--luximmo-gold);
			border-top: 0;
			max-height: min(18rem, 50vh);
			overflow-y: auto;
			box-shadow: 0 0.35rem 1rem rgba(20, 56, 51, 0.14);
			z-index: 30;
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-home-type-option {
			width: 100%;
			height: 2.68rem;
			border: 0;
			border-top: 1px solid #bdbdbd;
			background: #fff;
			color: #6f6f6f;
			font-size: 0.8rem;
			text-align: left;
			padding: 0 0.92rem 0 2rem;
			position: relative;
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-home-type-option::before {
			content: "✓";
			position: absolute;
			left: 0.75rem;
			top: 50%;
			transform: translateY(-50%);
			opacity: 0;
			color: #6a6a6a;
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-home-type-option.is-selected::before,
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-home-type-option[aria-selected="true"]::before {
			opacity: 1;
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-home-stacked-select:focus-within,
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-home-stacked-select.is-open {
			border-color: var(--luximmo-gold);
			z-index: 40;
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-home-stacked-select.is-open .lux-home-type-toggle {
			border-bottom: 1px solid transparent;
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-float-field .form-control,
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-float-field .form-select {
			height: 100%;
			padding: var(--lux-nb-field-pad-top) var(--lux-nb-field-pad-x) var(--lux-nb-field-pad-bottom);
			font-size: var(--lux-nb-field-text);
			color: var(--lux-nb-field-color);
			line-height: 1.25;
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-float-field .form-label {
			position: absolute;
			top: var(--lux-nb-field-pad-top);
			left: var(--lux-nb-field-pad-x);
			right: var(--lux-nb-field-pad-x);
			margin: 0;
			font-size: var(--lux-nb-field-text);
			font-weight: 400;
			line-height: 1.15;
			color: var(--lux-nb-field-label-color);
			background: transparent;
			pointer-events: none;
			transition: transform 0.2s ease, font-size 0.2s ease, top 0.2s ease, color 0.2s ease;
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-float-field .form-control:focus + .form-label,
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-float-field .form-control:not(:placeholder-shown) + .form-label,
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-float-field .form-select:focus + .form-label,
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-float-field .form-select:has(option:checked:not([value=""])) + .form-label,
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-float-field:focus-within .form-label {
			top: 0.25rem;
			font-size: var(--lux-nb-field-label);
			transform: none;
			color: var(--lux-nb-field-label-color);
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .lux-float-field:focus-within {
			border-color: var(--luximmo-gold);
		}
		.luximmo-nos-biens .lux-home-field--terrain .form-label {
			white-space: nowrap;
			overflow: hidden;
			text-overflow: ellipsis;
			max-width: calc(100% - 0.5rem);
		}
		.luximmo-nos-biens .form-check--lux-nb {
			display: flex;
			align-items: center;
			gap: 0.4rem;
			margin: 0;
			min-width: 0;
			width: 100%;
			min-height: var(--lux-nb-field-h);
			padding: 0 0.15rem 0 0;
		}
		.luximmo-nos-biens .form-check--lux-nb .form-check-input {
			float: none;
			margin: 0;
			margin-left: 0;
			width: 1rem;
			height: 1rem;
			border: 1px solid rgba(255, 255, 255, 0.85);
			background-color: #fff;
			flex-shrink: 0;
		}
		.luximmo-nos-biens .form-check--lux-nb .form-check-input:checked {
			background-color: var(--luximmo-gold);
			border-color: var(--luximmo-gold);
		}
		.luximmo-nos-biens .form-check--lux-nb .form-check-label {
			flex: 1 1 auto;
			min-width: 0;
			color: rgba(255, 255, 255, 0.95);
			font-size: 0.75rem;
			font-weight: 500;
			line-height: 1.2;
			white-space: nowrap;
			overflow: hidden;
			text-overflow: ellipsis;
		}
		.luximmo-nos-biens .luximmo-nos-btn-more {
			background: var(--luximmo-gold);
			border: 1px solid var(--luximmo-gold);
			color: #fff;
			font-weight: 500;
			font-size: 1.25rem;
			line-height: 1;
			border-radius: 0;
			height: var(--lux-nb-field-h);
			min-height: var(--lux-nb-field-h);
			display: flex;
			align-items: center;
			justify-content: center;
			transition: all 0.25s;
		}
		.luximmo-nos-biens .luximmo-nos-btn-more:hover {
			background: #fff;
			color: var(--luximmo-gold);
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .luximmo-nos-btn-search {
			background: var(--luximmo-gold);
			border: 1px solid var(--luximmo-gold);
			color: #fff;
			font-weight: 400;
			font-size: var(--lux-nb-field-text);
			letter-spacing: 0.04em;
			width: 100%;
			height: var(--lux-nb-field-h);
			min-width: 0;
			display: inline-flex;
			align-items: center;
			justify-content: center;
		}
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .luximmo-nos-btn-search:hover,
		.luximmo-nos-biens .luximmo-nos-hero-search-strip .luximmo-nos-btn-search:focus {
			background: #fff;
			border-color: var(--luximmo-gold);
			color: var(--luximmo-gold);
		}
		.luximmo-nos-biens .luximmo-nos-biens-subhead .btn-outline-luximmo {
			border: 2px solid var(--luximmo-teal);
			color: var(--luximmo-teal);
			font-weight: 500;
			font-size: 0.85rem;
			text-transform: uppercase;
			letter-spacing: 0.06em;
			padding: 0.5rem 1.25rem;
			border-radius: 999px;
		}
		.luximmo-nos-biens .luximmo-nos-biens-subhead .btn-outline-luximmo:not(.is-active):hover {
			background: var(--luximmo-teal);
			color: #fff;
		}
		.luximmo-nos-biens .luximmo-nos-biens-subhead .btn-outline-luximmo.is-active {
			background: var(--luximmo-teal);
			border-color: var(--luximmo-teal);
			color: #fff;
		}
		.luximmo-nos-biens .luximmo-bien-card {
			background: #fff;
			border-radius: 0.5rem;
			box-shadow: 0 0.35rem 1.25rem rgba(20, 56, 51, 0.12);
			overflow: hidden;
			min-height: var(--lux-nb-card-min-height);
			transition: box-shadow 0.2s ease, transform 0.2s ease;
		}
		.luximmo-nos-biens .luximmo-bien-card:hover {
			box-shadow: 0 0.6rem 1.75rem rgba(20, 56, 51, 0.18);
			transform: translateY(-2px);
		}
		.luximmo-nos-biens .luximmo-bien-card-body-link {
			color: inherit;
			flex: 1 1 auto;
		}
		.luximmo-nos-biens .luximmo-bien-card-media {
			position: relative;
			flex: 0 0 auto;
			aspect-ratio: var(--lux-nb-card-media-ratio);
			overflow: hidden;
			background: var(--luximmo-teal-dark);
		}
		.luximmo-nos-biens .luximmo-bien-card-media > .luximmo-bien-card-carousel,
		.luximmo-nos-biens .luximmo-bien-card-media > .luximmo-bien-card-slide-link {
			display: block;
			width: 100%;
			height: 100%;
		}
		.luximmo-nos-biens .luximmo-bien-card-img,
		.luximmo-nos-biens .luximmo-bien-card-carousel .carousel-item img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			display: block;
		}
		.luximmo-nos-biens .luximmo-bien-card-slide-link {
			display: block;
			height: 100%;
		}
		.luximmo-nos-biens .luximmo-bien-card-carousel {
			height: 100%;
		}
		.luximmo-nos-biens .luximmo-bien-card-carousel .carousel-inner,
		.luximmo-nos-biens .luximmo-bien-card-carousel .carousel-item {
			height: 100%;
		}
		.luximmo-nos-biens .luximmo-bien-card-carousel .carousel-item a {
			height: 100%;
		}
		.luximmo-nos-biens .luximmo-bien-carousel-btn {
			width: 2.25rem;
			height: 2.25rem;
			border-radius: 50%;
			top: 50%;
			transform: translateY(-50%);
			background: var(--luximmo-gold);
			opacity: 0.95;
		}
		.luximmo-nos-biens .luximmo-bien-carousel-btn.carousel-control-prev {
			left: 0.35rem;
		}
		.luximmo-nos-biens .luximmo-bien-carousel-btn.carousel-control-next {
			right: 0.35rem;
		}
		.luximmo-nos-biens .luximmo-bien-carousel-btn .carousel-control-prev-icon,
		.luximmo-nos-biens .luximmo-bien-carousel-btn .carousel-control-next-icon {
			filter: brightness(0) invert(1);
			width: 1rem;
			height: 1rem;
		}
		.luximmo-nos-biens .luximmo-bien-carousel-btn:hover {
			background: var(--luximmo-gold-hover);
		}
		.luximmo-nos-biens .luximmo-bien-carousel-dots {
			margin-bottom: 0.5rem;
			gap: 0.35rem;
		}
		.luximmo-nos-biens .luximmo-bien-carousel-dots [data-bs-target] {
			width: 0.45rem;
			height: 0.45rem;
			border-radius: 50%;
			background-color: rgba(255, 255, 255, 0.55);
			border: 0;
		}
		.luximmo-nos-biens .luximmo-bien-carousel-dots .active {
			background-color: var(--luximmo-gold);
		}
		.luximmo-nos-biens .luximmo-bien-card-price {
			width: 100%;
			margin-top: 0.45rem;
			font-weight: var(--lux-nb-fw-card-price);
			font-size: clamp(1rem, 2.2vw, 1.25rem);
			line-height: 1.2;
			color: var(--luximmo-teal);
			text-align: center;
		}
		.luximmo-nos-biens .luximmo-bien-card-fav {
			position: absolute;
			top: 0.65rem;
			left: 0.65rem;
			right: auto;
			z-index: 8;
			width: 2.4rem;
			height: 2.4rem;
			border-radius: 50%;
			border: 0;
			padding: 0;
			display: flex;
			align-items: center;
			justify-content: center;
			background: var(--luximmo-gold);
			color: #fff;
			box-shadow: 0 0.15rem 0.5rem rgba(0, 0, 0, 0.2);
			cursor: pointer;
			transition: background 0.15s ease, transform 0.15s ease;
		}
		.luximmo-nos-biens .luximmo-bien-card-fav:hover {
			background: var(--luximmo-gold-hover);
			transform: scale(1.05);
		}
		.luximmo-nos-biens .luximmo-bien-card-fav:focus-visible {
			outline: 2px solid var(--luximmo-teal);
			outline-offset: 2px;
		}
		/* Actif : même fond or que par défaut ; seul le cœur passe en plein blanc (cf. maquette). */
		.luximmo-nos-biens .luximmo-bien-card-fav.is-active {
			background: var(--luximmo-gold);
		}
		.luximmo-nos-biens .luximmo-bien-card-fav.is-active:hover {
			background: var(--luximmo-gold-hover);
		}
		.luximmo-nos-biens .luximmo-bien-card-fav-icon {
			display: block;
			margin-top: 1px;
		}
		.luximmo-nos-biens .luximmo-bien-card-fav-icon path {
			fill: none;
			stroke: currentColor;
			stroke-width: 2;
			stroke-linecap: round;
			stroke-linejoin: round;
			transition: fill 0.15s ease, stroke 0.15s ease;
		}
		.luximmo-nos-biens .luximmo-bien-card-fav.is-active .luximmo-bien-card-fav-icon path {
			fill: currentColor;
			stroke: currentColor;
			stroke-width: 1.5;
		}
		.luximmo-nos-biens .luximmo-bien-card-body {
			padding: 1.2rem 1.3rem 1.5rem;
			display: flex;
			flex-direction: column;
			align-items: center;
			flex: 1 1 auto;
			min-height: var(--lux-nb-card-body-min-height);
			justify-content: flex-start;
			text-align: center;
		}
		.luximmo-nos-biens .luximmo-bien-card-badge {
			display: inline-block;
			align-self: flex-start;
			font-size: 0.68rem;
			font-weight: 600;
			text-transform: uppercase;
			letter-spacing: 0.08em;
			color: #fff;
			background: var(--luximmo-gold);
			padding: 0.25rem 0.65rem;
			border-radius: 999px;
		}
		.luximmo-nos-biens .luximmo-bien-card-title {
			font-size: 1.05rem;
			font-weight: var(--lux-nb-fw-card-title);
			color: var(--luximmo-teal);
			margin: 0 0 0.5rem;
			line-height: 1.3;
			text-transform: uppercase;
			letter-spacing: 0.02em;
			text-align: center;
			width: 100%;
		}
		.luximmo-nos-biens .luximmo-bien-card-meta-row {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			justify-content: center;
			gap: 0.65rem 1rem;
			font-size: 0.82rem;
			font-weight: var(--lux-nb-fw-card-meta);
			color: var(--luximmo-gold);
			width: 100%;
		}
		.luximmo-nos-biens .luximmo-bien-card-location {
			display: flex;
			justify-content: center;
			width: 100%;
			margin-top: 0.35rem;
			font-size: 0.82rem;
			font-weight: var(--lux-nb-fw-card-meta);
			color: var(--luximmo-gold);
		}
		.luximmo-nos-biens .luximmo-bien-meta-item {
			display: inline-flex;
			align-items: center;
			gap: 0.35rem;
			white-space: nowrap;
		}
		.luximmo-nos-biens .luximmo-bien-meta-ic {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			flex-shrink: 0;
			color: inherit;
		}
		.luximmo-nos-biens .luximmo-bien-meta-ic i.fas,
		.luximmo-nos-biens .luximmo-bien-meta-ic i.fa-solid {
			font-size: 0.85rem;
			line-height: 1;
			vertical-align: -0.06em;
			color: inherit;
		}
		.luximmo-nos-biens .luximmo-bien-meta-ic svg {
			width: auto;
			height: 0.85rem;
			max-width: 1.05rem;
			display: block;
			fill: currentColor;
		}
		.luximmo-nos-biens .luximmo-bien-meta-ic--land svg {
			height: 0.9rem;
			max-width: 0.95rem;
		}
		.luximmo-nos-biens .luximmo-nos-biens-grid {
			position: relative;
			z-index: 1;
			padding-top: 2rem;
			padding-bottom: 2.5rem;
		}
		@media (min-width: 992px) {
			.luximmo-nos-biens .luximmo-nos-biens-grid {
				padding-top: 2.5rem;
				padding-bottom: 4rem;
			}
		}
		.luximmo-nos-biens .luximmo-nos-catalog-footer {
			margin-top: 0.5rem;
			padding-top: 1.5rem;
		}
		.luximmo-nos-biens .luximmo-nos-catalog-summary {
			text-align: center;
			font-size: 0.875rem;
			color: #6b7280;
			margin-bottom: 1rem;
		}
		.luximmo-nos-biens .luximmo-pagination {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			justify-content: center;
			gap: 0.35rem 0.5rem;
			margin: 0;
			padding: 0;
		}
		.luximmo-nos-biens .luximmo-page-nav {
			display: inline-flex;
			align-items: center;
			text-decoration: none;
			color: var(--luximmo-teal);
			font-weight: 500;
			font-size: 0.82rem;
			padding: 0.35rem 0.5rem;
			border-radius: 0.25rem;
		}
		.luximmo-nos-biens .luximmo-page-nav:hover:not(.luximmo-page-nav--disabled) {
			background: rgba(201, 169, 98, 0.12);
			color: var(--luximmo-teal-dark);
		}
		.luximmo-nos-biens .luximmo-page-nav--disabled {
			color: #9ca3af;
			cursor: not-allowed;
		}
		.luximmo-nos-biens .luximmo-page-nav-inner {
			display: inline-flex;
			align-items: center;
			gap: 0.35rem;
		}
		.luximmo-nos-biens .luximmo-page-chev {
			width: 0.55rem;
			height: 0.85rem;
			flex-shrink: 0;
			display: block;
		}
		.luximmo-nos-biens .luximmo-page-nums {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			justify-content: center;
			gap: 0.25rem;
		}
		.luximmo-nos-biens .luximmo-page-num {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-width: 2rem;
			height: 2rem;
			padding: 0 0.45rem;
			font-weight: 500;
			font-size: 0.85rem;
			color: var(--luximmo-teal);
			text-decoration: none;
			border: 1px solid rgba(26, 77, 71, 0.2);
			border-radius: 0.25rem;
			background: #fff;
		}
		.luximmo-nos-biens .luximmo-page-num:hover {
			border-color: var(--luximmo-gold);
			background: rgba(201, 169, 98, 0.12);
		}
		.luximmo-nos-biens .luximmo-page-num--active {
			background: var(--luximmo-gold);
			border-color: var(--luximmo-gold);
			color: #fff;
		}

/* --- Pagination pro (luximmo.pro — cercles or + pilule Suivant ; legacy .luximmo-pagination inchangé) --- */
		.luximmo-nos-biens .luximmo-nos-catalog-footer .luximmo-pagination-pro {
			margin-top: 0.25rem;
		}
		.luximmo-nos-biens .luximmo-pagination-pro {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			justify-content: center;
			gap: 0.35rem 0.45rem;
			margin: 0;
			padding: 0;
			font-family: var(--luximmo-font-sans, "Montserrat", Arial, sans-serif);
			font-weight: 400;
		}
		.luximmo-nos-biens .luximmo-pagination-pro__nums {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			justify-content: center;
			gap: 0.35rem;
		}
		.luximmo-nos-biens .luximmo-pagination-pro__page {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 2.5rem;
			height: 2.5rem;
			padding: 0;
			border: 1px solid var(--luximmo-gold);
			border-radius: 50%;
			background: #fff;
			color: var(--luximmo-gold);
			font-size: 0.9rem;
			font-weight: 400;
			line-height: 1;
			text-decoration: none;
			transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
		}
		.luximmo-nos-biens .luximmo-pagination-pro__page:hover {
			background: rgba(218, 163, 40, 0.12);
			color: var(--luximmo-gold);
			border-color: var(--luximmo-gold);
		}
		.luximmo-nos-biens .luximmo-pagination-pro__page--active {
			background: var(--luximmo-gold);
			border-color: var(--luximmo-gold);
			color: #fff;
		}
		.luximmo-nos-biens .luximmo-pagination-pro__page--active:hover {
			background: var(--luximmo-gold-hover);
			border-color: var(--luximmo-gold-hover);
			color: #fff;
		}
		.luximmo-nos-biens .luximmo-pagination-pro__prev {
			display: inline-flex;
			align-items: center;
			margin-right: 0.35rem;
			text-decoration: none;
			color: var(--luximmo-teal);
			font-size: 0.82rem;
			font-weight: 400;
		}
		.luximmo-nos-biens .luximmo-pagination-pro__prev:hover {
			color: var(--luximmo-teal-dark);
		}
		.luximmo-nos-biens .luximmo-pagination-pro__prev--disabled {
			color: #9ca3af;
			cursor: not-allowed;
			pointer-events: none;
		}
		.luximmo-nos-biens .luximmo-pagination-pro__prev-inner {
			display: inline-flex;
			align-items: center;
			gap: 0.35rem;
		}
		.luximmo-nos-biens .luximmo-pagination-pro__next {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-height: 2.5rem;
			margin-left: 0.35rem;
			padding: 0 1.25rem;
			border: 1px solid var(--luximmo-gold);
			border-radius: 999px;
			background: var(--luximmo-gold);
			color: #fff;
			font-size: 0.9rem;
			font-weight: 400;
			line-height: 1;
			text-decoration: none;
			transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
		}
		.luximmo-nos-biens .luximmo-pagination-pro__next:hover {
			background: var(--luximmo-gold-hover);
			border-color: var(--luximmo-gold-hover);
			color: #fff;
		}
		.luximmo-nos-biens .luximmo-pagination-pro__next--disabled {
			background: #d1d5db;
			border-color: #d1d5db;
			color: #fff;
			cursor: not-allowed;
			pointer-events: none;
			opacity: 0.85;
		}
		.luximmo-nos-biens .luximmo-pagination-pro__next-inner {
			display: inline-flex;
			align-items: center;
			gap: 0.4rem;
		}
		.luximmo-nos-biens .luximmo-pagination-pro__chev {
			width: 0.5rem;
			height: 0.75rem;
			flex-shrink: 0;
			display: block;
		}

		.luximmo-mes-favoris .luximmo-favoris-empty-card {
			max-width: 28rem;
			width: 100%;
			background: #fff;
			border-radius: 0.5rem;
			box-shadow: 0 0.35rem 1.25rem rgba(20, 56, 51, 0.12);
		}
		.luximmo-mes-favoris .luximmo-favoris-empty-icon {
			color: var(--luximmo-gold);
		}
		.luximmo-mes-favoris .luximmo-favoris-empty-text {
			font-size: 1.05rem;
			font-weight: 600;
			color: var(--luximmo-teal);
		}
