.annonces { display: block; overflow-x: clip; }

.annonces-hero { position: relative; }
.annonces-hero__wm {
	position: absolute; z-index: 0; pointer-events: none;
	width: 41.5%; max-width: 717px; aspect-ratio: 717 / 460;
}
.annonces-hero__wm--left { top: max(min(8.391vw, 145px), calc(var(--header-h) + .5rem)); left: clamp(.75rem, 1.4vw, 24px); width: 28.356%; max-width: 490px; }
.annonces-hero__wm--right { top: clamp(60rem, 75vw, 1641px); right: -5%; }

.annonces-hero__inner {
	position: relative; z-index: 1;
	padding-top: clamp(6rem, 16.8vw, 290px);
	text-align: center;
}
.annonces-hero__title {
	margin: 0;
	font-family: var(--font-sans); font-weight: 500;
	font-size: clamp(2.25rem, 1rem + 3.5vw, 3.75rem);
	line-height: 1.25; color: var(--c-burgundy);
}

.annonces-list-section {
	position: relative; z-index: 1;
	padding-top: clamp(2.5rem, 4vw, 4rem);
	padding-bottom: clamp(3rem, 6vw, 6rem);
}

.annonces-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.5rem, 2.4vw, 2rem) clamp(1rem, 2vw, 1.875rem);
}

.annonce-card {
	display: flex; flex-direction: column;
	background: var(--c-white);
	color: var(--c-burgundy);
	transition: transform .35s ease, box-shadow .35s ease;
}
.annonce-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0,0,0,.06); }

.annonce-card__media { position: relative; aspect-ratio: 530 / 397; overflow: hidden; }
.annonce-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.annonce-card__type {
	position: absolute; top: 1.75rem; right: 1.75rem;
	background: var(--c-white);
}

.annonce-card__info {
	padding: 1.5rem clamp(1rem, 1.5vw, 1.25rem) 1.75rem;
	display: flex; flex-direction: column; gap: clamp(1rem, 1.678vw, 1.8125rem);
}
.annonce-card__head {
	display: flex; justify-content: space-between; align-items: baseline;
	gap: 1rem;
}
.annonce-card__place {
	display: inline-flex; align-items: center; gap: .1875rem; min-width: 0;
	margin-left: -.25rem;
	font-family: var(--font-serif); font-weight: 300;
	font-size: 2.125rem; line-height: .8824;
	color: var(--c-burgundy);
}
.annonce-card__place svg { width: 1.5625rem; height: 1.5625rem; color: var(--c-red); flex: none; align-self: center; }
.annonce-card__place sup,
.annonces-detail__ref sup { font-size: .55em; line-height: 0; vertical-align: super; }
.annonce-card__price {
	flex: none; text-align: right;
	font-size: 1rem; line-height: 1.5;
	color: var(--c-burgundy);
}

.annonce-card__specs {
	display: flex; gap: clamp(.875rem, 1.91vw, 2.0625rem); flex-wrap: wrap;
	list-style: none; padding: 0; margin: 0;
	color: var(--c-burgundy); font-size: 1rem;
}
.annonce-card__specs li { display: inline-flex; align-items: center; gap: .4375rem; }

.annonce-icon { width: 19px; height: 19px; color: var(--c-red); flex: none; }
.annonce-icon--pieces { width: 17px; height: 17px; }
.annonce-icon--chambres { width: 18px; height: 16px; }


.annonces-more {
	margin: clamp(2rem, 4vw, 4.25rem) auto 0;
	text-align: center;
}

.annonces-detail-section {
	padding-top: clamp(6rem, 16.8vw, 290px);
	padding-bottom: var(--space-section);
}

.annonces-detail__wrap {
	max-width: calc(80.75rem + 2 * var(--gutter));
	margin-inline: auto;
	padding-inline: var(--gutter);
}

.annonces-detail__head {
	display: flex; justify-content: space-between; align-items: flex-end;   
	gap: 1rem; flex-wrap: wrap;
	margin-bottom: clamp(1.5rem, 2.5vw, 2.5rem);
}
.annonces-detail__title {
	margin: 0;
	font-family: var(--font-sans); font-weight: 500;
	font-size: clamp(2.25rem, 1rem + 3.5vw, 3.75rem); 
	line-height: 75px; color: var(--c-burgundy);
}
.annonces-detail__ref {
	margin: .25rem 0 0; display: inline-flex; align-items: center; gap: .5rem;
	font-size: 1rem; line-height: 1.5; color: var(--c-burgundy);
}
.annonces-detail__ref svg { color: var(--c-red); flex: none; }
.annonces-detail__back .c-arrow { transform: rotate(-90deg); }

.annonces-detail__back:hover .c-arrow { transform: rotate(-90deg); }

.annonces-detail__top {
	display: grid; grid-template-columns: minmax(0, 766fr) minmax(0, 526fr);
	gap: 0;                                          
	margin-bottom: clamp(2rem, 4vw, 3.4375rem);     
}

.annonces-detail__media {
	position: relative;
	aspect-ratio: 766 / 519;
	overflow: hidden;
	background: var(--c-burgundy);
}

.annonces-detail__slide {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover; display: block;
	opacity: 0;
	transition: opacity .55s cubic-bezier(.76, 0, .24, 1);
	pointer-events: none;
}
.annonces-detail__slide.is-active {
	opacity: 1;
	pointer-events: auto;
}

.annonces-detail__price {
	position: absolute; top: 0; left: 0;
	z-index: 3;                                       
	display: inline-flex; align-items: center;
	width: 210px; height: 70px;
	padding: 0 1.875rem;
	background: var(--c-red); color: var(--c-white);
	font-family: var(--font-serif); font-weight: 300;
	font-size: 2.125rem; line-height: 30px;          
}

.annonces-detail__nav {
	position: absolute; right: 0; bottom: 0;
	z-index: 3;                                       
	display: flex; gap: 0;
}
.annonces-detail__nav-btn {
	width: 53px; height: 53px;
	background: var(--c-white); color: var(--c-burgundy);
	border: 1px solid var(--c-burgundy); cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
}
.annonces-detail__nav-btn:hover { background: var(--c-burgundy); color: var(--c-white); }

.annonces-detail__dots {
	position: absolute; left: 50%; bottom: 1.25rem;
	z-index: 3;                                       
	transform: translateX(-50%);
	display: inline-flex; gap: .5rem;
	padding: .5rem .75rem;
	background: rgba(0, 0, 0, .25);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-radius: 999px;
}
.annonces-detail__dot {
	width: 8px; height: 8px;
	background: rgba(255, 255, 255, .5);
	border: 0; border-radius: 50%;
	padding: 0; cursor: pointer;
	transition: background-color .25s ease, transform .25s ease;
}
.annonces-detail__dot:hover { background: rgba(255, 255, 255, .85); }
.annonces-detail__dot.is-active {
	background: var(--c-white);
	transform: scale(1.25);
}

.annonces-detail__panel {
	position: relative; overflow: visible;
	background: var(--c-white);
	padding: clamp(4.5rem, 7.9vw, 8.5625rem) clamp(1.75rem, 3.2vw, 3.5rem) clamp(3rem, 6vw, 6.5rem);
	display: flex; flex-direction: column; align-items: flex-start;
	gap: 0;                                            
}

.annonces-detail__specs {
	display: flex; gap: clamp(.875rem, 1.4vw, 1.5rem); flex-wrap: wrap;
	list-style: none; margin: 0 0 clamp(1.25rem, 1.75vw, 1.75rem);
	padding-bottom: clamp(1rem, 1.5vw, 1.625rem);
	width: 100%;
	border-bottom: 1px solid #d8d8d8;
	color: var(--c-burgundy); font-size: 1rem; line-height: 24px;
}
.annonces-detail__specs li { display: inline-flex; align-items: center; gap: .5rem; }

.annonces-detail__nego {
	display: flex; flex-direction: column; align-items: flex-start;
	
}
.annonces-detail__nego-info {
	display: flex; flex-direction: column; align-items: flex-start;
	gap: 0;                                            
}

.annonces-detail__nego-name {
	margin: 0;
	font-family: var(--font-serif); font-weight: 300;
	font-size: 1.625rem; line-height: 30px;
	color: var(--c-burgundy);
}
.annonces-detail__nego-coords {
	margin: 0;
	font-family: var(--font-sans); font-weight: 300;
	font-size: 1rem; line-height: 34px;                
	color: var(--c-burgundy);
}
.annonces-detail__nego-coords a:hover { color: var(--c-red); }
.annonces-detail__nego-cta { margin-top: clamp(1rem, 1.8vw, 1.625rem); } 

.annonces-detail__nego-photo {
	position: absolute;
	right: -9.4375rem;                                 
	bottom: -4.5rem;                                   
	width: 18.6875rem;                                 
	aspect-ratio: 299 / 313;
	border-top-right-radius: 9.375rem;                 
	overflow: hidden;
	z-index: 1;
}
.annonces-detail__nego-photo img {
	width: 100%; height: 100%;
	object-fit: cover; object-position: center top;
	display: block;
}

.annonces-detail__body {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(2rem, 4vw, 4rem);
	margin-bottom: clamp(2.5rem, 4vw, 3.5rem);
}
.annonces-detail__col { display: flex; flex-direction: column; gap: 1.25rem; align-items: flex-start; }

.annonces-detail__desc {
	color: var(--c-burgundy); font-size: 1rem; line-height: 24px;
}
.annonces-detail__desc p { margin: 0 0 1rem; }
.annonces-detail__desc p:last-child { margin-bottom: 0; }
.annonces-detail__updated { margin: 0; font-size: .75rem; line-height: 24px; color: var(--c-burgundy); }

.annonces-detail__terms {
	margin: 0; font-size: 1rem; line-height: 24px; color: var(--c-burgundy);
	white-space: pre-line;
}
.annonces-detail__honoraires {
	margin: 0;                                         
	font-size: .75rem; line-height: 24px; color: var(--c-burgundy);
}
.annonces-detail__honoraires p { margin: 0; }
.annonces-detail__honoraires p + p { margin-top: 0; }  
.annonces-detail__honoraires a { text-decoration: underline; }

.annonces-detail__map-block {
	display: flex; flex-direction: column; align-items: flex-start;
	gap: clamp(1.5rem, 2.43vw, 2.625rem);
	width: 100%;
	margin-top: clamp(2.8125rem, 3.65vw, 3.9375rem);
	margin-bottom: clamp(3.5rem, 5.96vw, 6.4375rem);
}
.annonces-detail__map {
	width: 100%;
	height: clamp(16rem, 22.23vw, 24rem);
	background: #e5e7eb;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
	position: relative; z-index: 0;
}

.annonces-detail__conditions {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(2rem, 4vw, 4rem);
	margin-bottom: clamp(2.5rem, 4vw, 3.5rem);
}
.annonces-detail__conditions-main {
	display: flex; flex-direction: column; gap: 1.25rem; align-items: flex-start;
}

.annonces-detail__features {
	list-style: none; padding: 0; margin: 0;
	width: 100%;
	gap: 0;                                            
	margin-top: clamp(2.25rem, 3.5vw, 3.5rem);        
	color: var(--c-burgundy); font-size: 1rem;
}
.annonces-detail__features li {
	display: flex; align-items: center; gap: .375rem;
	width: 100%;                                       
	height: 40px;
	border-bottom: 1px solid #d8d8d8;
}
.annonces-detail__feature-label,
.annonces-detail__feature-value { font-weight: 400; }

.annonces-detail__dpe { display: flex; flex-direction: column; gap: 1.25rem; align-items: flex-start; }
.annonces-detail__dpe-grid {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 3vw, 3rem); width: 100%;
}
.annonces-detail__dpe-label { margin: 0 0 .625rem; font-size: 1rem; line-height: 24px; color: var(--c-burgundy); }

.dpe-scale { display: flex; align-items: center; gap: 0; }
.dpe-scale__cell {
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px;
	font-family: var(--font-sans); font-size: 16px; font-weight: 400; line-height: 34px;
	color: var(--c-white);
}

.dpe-scale__cell.is-active {
	width: 42px; height: 42px;
	border: 2px solid var(--c-light);
	position: relative; z-index: 1;
}

.dpe-scale--energy .dpe-scale__cell--a { background: #00a06e; }
.dpe-scale--energy .dpe-scale__cell--b { background: #52b154; }
.dpe-scale--energy .dpe-scale__cell--c { background: #a5cc74; }
.dpe-scale--energy .dpe-scale__cell--d { background: #f4e810; color: #1f1f1f; }
.dpe-scale--energy .dpe-scale__cell--d.is-active,
.dpe-scale--energy .dpe-scale__cell--e { background: #f0b510; }
.dpe-scale--energy .dpe-scale__cell--f { background: #eb8235; }
.dpe-scale--energy .dpe-scale__cell--g { background: #d82320; }

.dpe-scale--ghg .dpe-scale__cell--a { background: #a5dbf8; color: #1f1f1f; }
.dpe-scale--ghg .dpe-scale__cell--b { background: #8cb4d3; }
.dpe-scale--ghg .dpe-scale__cell--c { background: #7892b1; }
.dpe-scale--ghg .dpe-scale__cell--d { background: #606f90; }
.dpe-scale--ghg .dpe-scale__cell--e { background: #4d5271; }
.dpe-scale--ghg .dpe-scale__cell--f { background: #3a3551; }
.dpe-scale--ghg .dpe-scale__cell--g { background: #281c36; }

@media (max-width: 1024px) {
	
	.annonces-hero__wm--left { top: calc(var(--header-h) + .25rem); left: .75rem; width: clamp(100px, 19vw, 190px); }
	.annonces-hero__wm--right { display: none; }
	.annonces-grid { grid-template-columns: repeat(2, 1fr); }


	
	.annonces-detail__top { grid-template-columns: 1fr; }
	.annonces-detail__panel {
		display: flex; flex-direction: column; align-items: flex-start;
		padding: clamp(2rem, 5vw, 3rem);
		padding-bottom: 0;                              
		padding-right: clamp(11rem, 38vw, 14rem);       
		overflow: hidden;
	}
	.annonces-detail__nego { padding-bottom: clamp(2rem, 5vw, 3rem); }
	.annonces-detail__nego-photo {
		position: absolute;
		top: clamp(5.5rem, 12vw, 8.5rem);               
		right: 0; bottom: 0; left: auto;
		width: clamp(10rem, 35vw, 14rem);
		height: auto;
		aspect-ratio: auto;
		border-top-right-radius: clamp(4rem, 12vw, 7rem);
	}

	.annonces-detail__body { grid-template-columns: 1fr; }
	.annonces-detail__features { margin-top: 0; }

	.annonces-detail__conditions { grid-template-columns: 1fr; }
	.annonces-detail__honoraires { margin-top: 1rem; }
}

@media (max-width: 768px) {
	

	.annonces-detail__panel {
		grid-template-columns: minmax(0, 1fr) minmax(0, 45%);
	}

	.annonces-detail__head { flex-direction: column; align-items: flex-start; }
	.annonces-detail__back { align-self: flex-start; }

	.annonces-detail__price { width: auto; padding: .75rem 1.25rem; font-size: 1.5rem; }

	.annonces-detail__dpe-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
	
	.annonces-grid { grid-template-columns: 1fr; }

	.annonces-detail__panel { padding-right: clamp(1.25rem, 5vw, 3rem); }
	.annonces-detail__specs { order: -2; }
	.annonces-detail__nego { width: 100%; }
	.annonces-detail__nego-photo {
		position: relative; inset: auto; order: -1;
		width: 100%; max-width: 494px;
		aspect-ratio: 494 / 633;
		border-top-right-radius: 0;
		margin-bottom: 1.5rem;
	}


	.dpe-scale__cell { width: 28px; height: 28px; font-size: 14px; }
	.dpe-scale__cell.is-active { width: 34px; height: 34px; }
}

@media (max-width: 480px) {
	
	.annonce-card__info { padding: 1rem 1rem 1.25rem; }
	.annonce-card__place { font-size: 1.625rem; }
	.annonce-card__specs { gap: 1rem; }

	.annonces-detail__panel {
		padding-left: clamp(1.25rem, 4vw, 1.75rem);
	}
	.annonces-detail__nego-name { font-size: 1.0625rem; line-height: 1.3; }
	.annonces-detail__nego-coords { font-size: .8125rem; line-height: 1.5; overflow-wrap: anywhere; }
	.annonces-detail__nego-cta { font-size: .75rem; padding: .5rem 1rem; }

	.annonces-detail__features li { flex-wrap: wrap; height: auto; min-height: 40px; padding-block: .25rem; }
}

.annonces-nego-section { margin-top: clamp(4rem, 8.912vw, 9.625rem); }
.annonces .exp__nego-card { background: var(--c-white); }
.annonces .exp__nego-photo { position: relative; overflow: hidden; margin: 0; }
.annonces .exp__nego-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.annonces .exp__nego-slide { position: absolute; inset: 0; }
.annonces .exp__nego-text { color: var(--c-burgundy); }
.annonces .exp__nego-rich > * + * { margin-top: .9rem; }
.annonces .exp__nego-intro { font-family: var(--font-serif); font-weight: 300; line-height: 1.2; color: var(--c-burgundy); }
.annonces .exp-p { font-size: var(--fs-body); line-height: 1.5; color: var(--c-burgundy); }
.annonces .exp-p--list { padding-left: 1.15em; list-style: disc; }
.annonces .exp-p--list li + li { margin-top: .35rem; }
.annonces .exp-p--list li::marker { color: var(--c-red); }
.annonces .exp__nego-person { font-size: var(--fs-body); line-height: 1.6; color: var(--c-burgundy); margin-top: clamp(.875rem, 1.62vw, 1.75rem); }
.annonces .exp__nego-person .lead { display: inline-block; margin-bottom: .15rem; color: var(--c-burgundy); }
.annonces .exp__nego-person a:hover { color: var(--c-red); }
.annonces .exp__nego-role { display: inline-block; }

@media (min-width: 1024px) {
	.annonces .exp__nego { position: relative; width: 78%; margin-inline: auto; min-height: min(26vw, 450px); }
	.annonces .exp__nego-photo { position: absolute; left: 0; top: 0; width: 40%; height: 100%; z-index: 1; }
	.annonces .exp__nego-card {
		position: relative; margin-left: 34%; width: 66%; min-height: 100%;
		display: flex; flex-direction: column;
		padding: clamp(1.75rem, 3vw, 3rem) clamp(1.5rem, 3vw, 3.5rem) clamp(1.75rem, 3vw, 3rem) 10%;
	}
	.annonces .exp__nego-card .c-tag--label { align-self: flex-start; }
	.annonces .exp__nego-text { max-width: 36rem; margin-top: clamp(.75rem, 2vw, 1.5rem); margin-bottom: clamp(1rem, 1.6vw, 1.5rem); }
	.annonces .exp__nego-cta { align-self: flex-start; margin-top: auto; }
	.annonces .exp__nego-intro, .annonces .exp__nego-person .lead { font-size: clamp(1.0625rem, .62rem + .94vw, 1.625rem); }
}

@media (max-width: 1023px) {
	.annonces .exp__nego { display: flex; flex-direction: column; align-items: flex-start; }
	.annonces .exp__nego-photo { width: 100%; max-width: 494px; aspect-ratio: 494 / 633; }
	.annonces .exp__nego-card { width: 100%; max-width: 620px; margin-top: clamp(1.5rem, 5vw, 2rem); padding: clamp(1.75rem, 6vw, 2.5rem); }
	.annonces .exp__nego-card .c-tag--label { margin-bottom: 1rem; }
	.annonces .exp__nego-intro { font-size: var(--fs-lead); }
	.annonces .exp__nego-cta { margin-top: 1.5rem; }
}
