/* Composant Annonces — grille Salient (flex), loader, pagination SEO masquée */

.abrinor-annonces {
	--abrinor-card-accent: #80949b;
	--abrinor-card-dark: #1E1E1E;
	--abrinor-card-muted: #8e8e8e;
}

/* Layout flex (Salient le scope sous .nectar-post-grid-wrap ; absent ici → explicite). */
.abrinor-annonces__grid.nectar-post-grid {
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
}

.abrinor-annonces__grid.nectar-post-grid .abrinor-annonces__item,
.abrinor-annonces__grid.nectar-post-grid .nectar-post-grid-item {
	box-sizing: border-box;
	max-width: 100%;
	flex-shrink: 0;
}

/* Hauteur égale des cartes d’une même ligne (chaîne flex item → inner → card). */
.abrinor-annonces__grid.nectar-post-grid .abrinor-annonces__item {
	display: flex;
	align-items: stretch;
}

.abrinor-annonces__item .inner {
	display: flex;
	width: 100%;
}

.abrinor-annonces__item .abrinor-annonces__card {
	flex: 1 1 auto;
}

/* Styles content_under_image (sans nectar-post-grid-wrap : évite l’init JS Salient). */
.abrinor-annonces[data-style="content_under_image"] .nectar-post-grid .nectar-post-grid-item .content {
	position: static;
	padding: 0;
}

.abrinor-annonces[data-style="content_under_image"] .nectar-post-grid-item-bg-wrap {
	overflow: hidden;
	position: relative;
	width: 100%;
}

.abrinor-annonces__item .nectar-post-grid-item-bg-wrap-inner,
.abrinor-annonces__item .nectar-el-parallax-scroll__wrap,
.abrinor-annonces__item .nectar-el-parallax-scroll {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.abrinor-annonces[data-style="content_under_image"] .nectar-post-grid-item-bg,
.abrinor-annonces[data-style="content_under_image"] .nectar-post-grid-item .content,
.abrinor-annonces[data-style="content_under_image"] .nectar-post-grid-item .inner {
	position: relative;
	height: auto;
}

.abrinor-annonces[data-style="content_under_image"] .nectar-post-grid-item .inner {
	background-color: transparent;
	position: relative;
}

.abrinor-annonces__item .abrinor-annonces__link {
	position: absolute;
	inset: 0;
	z-index: 10;
}

/* Le thème place souvent .content au-dessus du lien overlay : on laisse passer les clics. */
.abrinor-annonces__item .abrinor-annonces__body {
	pointer-events: none;
}

/* Carte annonce */
.abrinor-annonces__card {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 350px;
	height: 100%;
	margin: 0 auto;
	background: #fff;
	border-radius: 28px;
	overflow: hidden;
	/*box-shadow: 0 4px 24px rgba(26, 27, 57, 0.08);*/
}

.abrinor-annonces__media {
	position: relative;
	padding: 10px 10px 0;
}

.abrinor-annonces__media .nectar-post-grid-item-bg-wrap,
.abrinor-annonces__media .nectar-post-grid-item-bg-wrap-inner,
.abrinor-annonces__media .nectar-post-grid-item-bg {
	border-radius: 20px;
	overflow: hidden;
}

.abrinor-annonces__item .meta-category {
	display: none;
}

.abrinor-annonces[data-style="content_under_image"] .nectar-post-grid-item .content .post-heading {
	max-width: 100%;
}

.abrinor-annonces__item .nectar-post-grid-item-bg {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.abrinor-annonces__item .nectar-post-grid-item-bg::before {
	content: "";
	display: block;
	padding-top: var(--abrinor-annonces-aspect, 75%);
}

/* Priorité sur .main-content img / .row .col img (Salient : height:auto). */
.abrinor-annonces .abrinor-annonces__grid .abrinor-annonces__item img.abrinor-annonces__image,
.abrinor-annonces .abrinor-annonces__grid .abrinor-annonces__item img.nectar-post-grid-item-bg__media {
	position: absolute;
	inset: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	object-fit: cover;
	object-position: center;
	transition: transform 0.45s ease;
}

.abrinor-annonces__item--zoom:hover .abrinor-annonces__image,
.abrinor-annonces__item--zoom:hover .nectar-post-grid-item-bg__media {
	transform: scale(1.06);
}

/* Badges image (vente, exclusivité) */
.abrinor-annonces__badges {
	position: absolute;
	top: 28px;
	left: 28px;
	z-index: 4;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	pointer-events: none;
}

.abrinor-annonces__badge {
	display: inline-block;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	background: var(--abrinor-card-accent);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.2;
}

/* Corps de carte */
.abrinor-annonces__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 20px !important;
}

.abrinor-annonces__body .item-main {
	display: flex !important;
	flex-direction: column;
	flex: 1 1 auto;
	width: 100%;
}

.abrinor-annonces__body .item-main > * {
	align-self: flex-start;
	max-width: 100%;
}

.abrinor-annonces__body .abrinor-annonces__price {
	margin-top: auto;
}

.abrinor-annonces__ville {
	display: inline-block;
	margin-bottom: 0.65rem;
	padding: 0.3rem 0.7rem;
	border-radius: 999px;
	background: var(--abrinor-card-dark);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.2;
}

.abrinor-annonces__item .post-heading {
	margin: 0 0 0.5rem;
	font-size: 20px !important;
	font-weight: 700;
	line-height: 1.25;
	color: var(--abrinor-card-dark);
}

.abrinor-annonces__details {
	margin: 0 0 0.85rem;
	padding: 0;
	font-size: 0.88rem;
	font-weight: 400;
	color: var(--abrinor-card-muted);
	line-height: 1.45;
}

.abrinor-annonces__price {
	margin-top: 0.15rem;
}

.abrinor-annonces__price-label {
	display: block;
	margin-bottom: 0.1rem;
	font-size: 0.72rem;
	font-weight: 500;
	color: var(--abrinor-card-accent);
	line-height: 1.3;
}

.abrinor-annonces__price-amount,
.abrinor-annonces__price-amount .abrinor-lc-acf-body,
.abrinor-annonces__price-amount .abrinor-lc-acf-value,
.abrinor-annonces__price-amount .abrinor-lc-acf-suffixe {
	font-size: 1.65rem;
	font-weight: 700;
	color: var(--abrinor-card-accent);
	line-height: 1.2;
}

.abrinor-annonces__price-amount .abrinor-lc-acf-field {
	display: inline;
	margin: 0;
	width: auto;
}

.abrinor-annonces__price-amount .abrinor-lc-acf-label {
	display: none;
}

/* Masque « Découvrir l’annonce » — glisse depuis le haut au survol (effet Sigla Neuf). */
.abrinor-annonces__discover {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	border-radius: inherit;
	background: rgba(26, 27, 57, 0.62);
	color: #fff;
	font-size: 0.92rem;
	font-weight: 500;
	line-height: 1.3;
	text-align: center;
	transform: translateY(-100%);
	transition: transform 0.25s ease;
	pointer-events: none;
}

.abrinor-annonces__discover-icon {
	display: block;
	width: 30px;
	height: 30px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.abrinor-annonces__discover-label {
	display: block;
	padding: 0 0.75rem;
}

.abrinor-annonces__item:hover .abrinor-annonces__discover,
.abrinor-annonces__item:focus-within .abrinor-annonces__discover {
	transform: translateY(0);
}

.abrinor-annonces__item--overlay .nectar-post-grid-item-bg::after {
	display: none;
}

.abrinor-annonces__loader {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	padding: 1.25rem 0 0.5rem;
	color: #4b5563;
	font-size: 0.86rem;
	font-weight: 500;
}

.abrinor-annonces__loader.is-visible,
.abrinor-annonces__loader:not([hidden]).is-visible {
	display: flex;
}

.abrinor-annonces__loader-spinner {
	width: 1.15rem;
	height: 1.15rem;
	border: 2px solid #d5dbe3;
	border-top-color: #1a4f8f;
	border-radius: 50%;
	animation: abrinor-annonces-spin 0.75s linear infinite;
}

@keyframes abrinor-annonces-spin {
	to {
		transform: rotate(360deg);
	}
}

.abrinor-annonces__empty {
	display: none;
	padding: 2rem 1rem;
	text-align: center;
	color: #6b7280;
	font-size: 0.92rem;
}

.abrinor-annonces__empty.is-visible {
	display: block;
}

.abrinor-annonces__sentinel {
	width: 100%;
	height: 1px;
	pointer-events: none;
	visibility: hidden;
}

.abrinor-annonces.is-loading .abrinor-annonces__grid {
	opacity: 0.55;
	transition: opacity 0.2s ease;
}

/* Pagination SEO : masquée visuellement, crawlable */
.abrinor-annonces__seo {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.abrinor-annonces__seo a {
	display: inline-block;
	margin-right: 0.35rem;
}
