/* ==========================================================================
   AG Groupe Immobilier — Homepage
   Les composants réutilisables restent dans components.css.
   ========================================================================== */


/* ==========================================================================
   Neutralisation des espacements Kadence
   ========================================================================== */

.home .content-area,
.home .site-main,
.home .entry-content-wrap,
.home .entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.home .entry-content > :first-child {
	margin-top: 0 !important;
}


/* ==========================================================================
   Libellés responsive des CTA du Hero
   ========================================================================== */

.ag-home-hero__actions .ag-button__label-desktop {
	display: inline;
}

.ag-home-hero__actions .ag-button__label-mobile {
	display: none;
}


/* ==========================================================================
   HERO — Desktop
   ========================================================================== */

.ag-home-hero {
	position: relative;
	isolation: isolate;

	min-height: clamp(540px, 62vh, 620px);

	margin: 0;
	overflow: hidden;

	background-color: var(--ag-background-soft, #f7f9f8);
}


/* --------------------------------------------------------------------------
   Image
   -------------------------------------------------------------------------- */

.ag-home-hero__background {
	position: absolute;
	inset: 0;
	z-index: 0;

	overflow: hidden;
}

.ag-home-hero__background-image {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center center;
}


/* --------------------------------------------------------------------------
   Voile de lisibilité
   -------------------------------------------------------------------------- */

.ag-home-hero::after {
	content: "";

	position: absolute;
	inset: 0;
	z-index: 1;

	pointer-events: none;

	background: linear-gradient(
		90deg,
		rgba(247, 249, 248, 1) 0%,
		rgba(247, 249, 248, 0.99) 18%,
		rgba(247, 249, 248, 0.94) 30%,
		rgba(247, 249, 248, 0.82) 40%,
		rgba(247, 249, 248, 0.58) 50%,
		rgba(247, 249, 248, 0.28) 60%,
		rgba(247, 249, 248, 0.06) 70%,
		rgba(247, 249, 248, 0) 78%
	);
}


/* --------------------------------------------------------------------------
   Contenu
   -------------------------------------------------------------------------- */

.ag-home-hero__inner {
	position: relative;
	z-index: 2;

	display: flex;
	align-items: center;

	width: calc(100% - 64px);
	max-width: 1560px;
	min-height: inherit;

	margin-inline: auto;
	padding-block: 72px;

	box-sizing: border-box;
}

.ag-home-hero__content {
	width: 100%;
	max-width: 650px;
}


/* --------------------------------------------------------------------------
   Titre
   -------------------------------------------------------------------------- */

.ag-home-hero__title {
	max-width: 650px;

	margin: 0;

	color: var(--ag-blue-dark, #073a61);

	font-size: clamp(2.75rem, 3.4vw, 3.375rem);
	font-weight: 700;
	line-height: 1.06;
	letter-spacing: -0.025em;

	text-wrap: balance;
}


/* --------------------------------------------------------------------------
   Introduction
   -------------------------------------------------------------------------- */

.ag-home-hero__intro {
	max-width: 590px;

	margin: 22px 0 0;

	color: var(--ag-text-main, #173042);

	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.6;

	text-wrap: pretty;
}


/* --------------------------------------------------------------------------
   Boutons
   -------------------------------------------------------------------------- */

.ag-home-hero__actions {
	display: flex;
	flex-wrap: wrap;

	gap: 14px;

	margin-top: 28px;
}


/* --------------------------------------------------------------------------
   Avis Google
   -------------------------------------------------------------------------- */

.ag-home-hero__proof {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 7px;

	margin-top: 22px;

	color: var(--ag-text-main, #173042);

	font-size: 0.8125rem;
	line-height: 1.4;
}

.ag-home-hero__proof-stars {
	color: #fbbc04;

	font-size: 0.875rem;
	line-height: 1;
	letter-spacing: 0.02em;
}

.ag-home-hero__proof-score {
	font-weight: 700;
}

.ag-home-hero__proof-count {
	color: var(--ag-text-muted, #667680);
}

.ag-home-hero__proof-count::before {
	content: "·";

	margin-right: 7px;
}

.ag-home-hero__proof-link {
	display: inline-flex;
	align-items: center;

	gap: 5px;

	margin-left: 7px;

	color: var(--ag-blue, #054b7f);

	font-weight: 600;
	text-decoration: none;

	transition:
		color 160ms ease,
		gap 160ms ease;
}

.ag-home-hero__proof-link:focus-visible {
	outline: 2px solid var(--ag-green, #4e963f);
	outline-offset: 4px;

	border-radius: 3px;
}


/* ==========================================================================
   HERO — Laptop / petit desktop
   ========================================================================== */

@media (min-width: 1100px) and (max-width: 1399px) {

	.ag-home-hero {
		min-height: 540px;
	}

	.ag-home-hero__inner {
		width: calc(100% - 48px);

		padding-block: 56px;
	}

	.ag-home-hero__content {
		max-width: 590px;
	}

	.ag-home-hero__title {
		max-width: 590px;

		font-size: 2.75rem;
	}

	.ag-home-hero__intro {
		max-width: 550px;

		font-size: 1rem;
	}

	.ag-home-hero::after {
		background: linear-gradient(
			90deg,
			rgba(247, 249, 248, 1) 0%,
			rgba(247, 249, 248, 0.99) 24%,
			rgba(247, 249, 248, 0.94) 38%,
			rgba(247, 249, 248, 0.78) 48%,
			rgba(247, 249, 248, 0.46) 58%,
			rgba(247, 249, 248, 0.16) 68%,
			rgba(247, 249, 248, 0) 78%
		);
	}
}


/* ==========================================================================
   HERO — Tablette
   ========================================================================== */

@media (max-width: 1099px) {

	.ag-home-hero {
		min-height: 0;
		overflow: visible;

		padding-bottom: 28px;

		background-color: var(--ag-background-soft, #f7f9f8);
	}

	.ag-home-hero__background {
		position: relative;
		inset: auto;

		width: 100%;
		height: clamp(340px, 46vw, 460px);

		overflow: hidden;
	}

	.ag-home-hero__background-image {
		width: 100%;
		height: 100%;

		object-fit: cover;
		object-position: center center;
	}

	.ag-home-hero::after {
		display: none;
	}

	.ag-home-hero__inner {
		position: relative;
		z-index: 2;

		display: block;

		width: calc(100% - 64px);
		max-width: 760px;
		min-height: 0;

		margin: -68px auto 0;
		padding: 0;

		box-sizing: border-box;
	}

	.ag-home-hero__content {
		max-width: none;

		padding: 40px 42px 34px;

		background-color: #ffffff;

		border: 1px solid rgba(228, 235, 231, 0.85);
		border-radius: 22px;

		box-shadow:
			0 18px 45px rgba(23, 48, 66, 0.09);
	}

	.ag-home-hero__title {
		max-width: 590px;

		font-size: 2.5rem;
		line-height: 1.08;
		letter-spacing: -0.025em;
	}

	.ag-home-hero__intro {
		max-width: 600px;

		margin-top: 18px;

		font-size: 1.0625rem;
		line-height: 1.6;
	}

	.ag-home-hero__actions {
		gap: 12px;

		margin-top: 26px;
	}

	.ag-home-hero__actions .ag-button {
		width: auto;
	}

	.ag-home-hero__proof {
		margin-top: 20px;
	}
}


/* ==========================================================================
   HERO — Mobile
   ========================================================================== */

@media (max-width: 767px) {

	.ag-home-hero {
		padding-bottom: 14px;
	}

	.ag-home-hero__background {
		height: clamp(245px, 68vw, 285px);
	}

	.ag-home-hero__background-image {
		object-position: center center;
	}

	.ag-home-hero__inner {
		width: calc(100% - 24px);

		margin-top: -34px;
	}

	.ag-home-hero__content {
		padding: 26px 20px 22px;

		background-color: #ffffff;

		border: 1px solid rgba(228, 235, 231, 0.75);
		border-radius: 18px;

		box-shadow:
			0 12px 28px rgba(23, 48, 66, 0.08);
	}

	.ag-home-hero__title {
		max-width: 100%;

		font-size: clamp(1.875rem, 8vw, 2.125rem);
		line-height: 1.07;
		letter-spacing: -0.025em;

		text-wrap: balance;
	}

	.ag-home-hero__intro {
		margin-top: 14px;

		font-size: 0.9375rem;
		line-height: 1.55;

		text-wrap: pretty;
	}

	.ag-home-hero__actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));

		gap: 10px;

		margin-top: 20px;
	}

	.ag-home-hero__actions .ag-button {
		width: 100%;
		min-height: 46px;

		padding: 10px;

		justify-content: center;

		font-size: 0.8125rem;
		line-height: 1.2;
		text-align: center;
		white-space: nowrap;
	}

	.ag-home-hero__actions .ag-button__label-desktop {
		display: none;
	}

	.ag-home-hero__actions .ag-button__label-mobile {
		display: inline;
	}

	.ag-home-hero__proof {
		display: flex;
		align-items: center;
		flex-wrap: wrap;

		gap: 4px 6px;

		margin-top: 15px;

		font-size: 0.6875rem;
		line-height: 1.35;
	}

	.ag-home-hero__proof-stars {
		font-size: 0.75rem;
	}

	.ag-home-hero__proof-count::before {
		margin-right: 5px;
	}

	.ag-home-hero__proof-link {
		gap: 4px;

		margin-left: 3px;
	}
}


/* ==========================================================================
   HERO — Petits mobiles
   ========================================================================== */

@media (max-width: 390px) {

	.ag-home-hero__inner {
		width: calc(100% - 20px);
	}

	.ag-home-hero__content {
		padding: 24px 18px 21px;
	}

	.ag-home-hero__title {
		font-size: 1.875rem;
	}

	.ag-home-hero__intro {
		font-size: 0.90625rem;
	}

	.ag-home-hero__actions {
		grid-template-columns: repeat(2, minmax(0, 1fr));

		gap: 8px;
	}

	.ag-home-hero__actions .ag-button {
		min-height: 44px;

		padding: 9px 8px;

		font-size: 0.78125rem;
	}

	.ag-home-hero__proof {
		font-size: 0.65625rem;
	}
}


/* ==========================================================================
   SECTION — Vendre ou acheter à Thionville
   ========================================================================== */

.ag-home-projects {
	padding: 52px 0 88px;

	background-color: #ffffff;
}

.ag-home-projects__inner {
	width: 100%;
	max-width: 1240px;
}


/* --------------------------------------------------------------------------
   En-tête
   -------------------------------------------------------------------------- */

.ag-home-projects__heading {
	width: 100%;
	max-width: 700px;

	margin: 0 auto 38px;

	text-align: center;
}

.home .ag-home-projects__title {
	width: 100%;
	max-width: 650px;

	margin: 0 auto;

	color: var(--ag-blue-dark, #073a61);

	font-size: 2.375rem;
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.02em;

	text-align: center;
	text-wrap: balance;
}

.ag-home-projects__intro {
	max-width: 620px;

	margin: 14px auto 0;

	color: var(--ag-text-muted, #667680);

	font-size: 1rem;
	line-height: 1.6;

	text-align: center;
	text-wrap: pretty;
}


/* --------------------------------------------------------------------------
   Grille
   -------------------------------------------------------------------------- */

.ag-home-projects__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 22px;

	max-width: 1040px;

	margin-inline: auto;
}


/* --------------------------------------------------------------------------
   Cartes
   -------------------------------------------------------------------------- */

.ag-project-card {
	position: relative;

	display: flex;
	flex-direction: column;
	justify-content: space-between;

	min-height: 270px;

	padding: 32px 34px 28px;

	overflow: hidden;

	background-color: var(--ag-background-soft, #f7f9f8);

	border: 1px solid var(--ag-border-light, #e4ebe7);
	border-radius: 16px;

	transition:
		transform 180ms ease,
		border-color 180ms ease,
		box-shadow 180ms ease;
}

.ag-project-card--seller::before,
.ag-project-card--buyer::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 4px;
}

.ag-project-card--seller::before {
	background-color: var(--ag-green, #4e963f);
}

.ag-project-card--buyer::before {
	background-color: var(--ag-blue, #054b7f);
}


/* --------------------------------------------------------------------------
   Contenu des cartes
   -------------------------------------------------------------------------- */

.ag-project-card__content {
	display: flex;
	flex-direction: column;

	align-items: flex-start;

	text-align: left;
}

.ag-project-card__label {
	display: inline-block;

	margin-bottom: 18px;

	color: var(--ag-green, #4e963f);

	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.08em;

	text-transform: uppercase;
}

.ag-project-card--buyer .ag-project-card__label {
	color: var(--ag-blue, #054b7f);
}

.ag-project-card__title {
	max-width: 400px;

	margin: 0;

	color: var(--ag-blue-dark, #073a61);

	font-size: 1.55rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.015em;

	text-wrap: balance;
}

.ag-project-card__text {
	max-width: 430px;

	margin: 13px 0 0;

	color: var(--ag-text-muted, #667680);

	font-size: 0.95rem;
	line-height: 1.6;
}


/* --------------------------------------------------------------------------
   Liens des cartes
   -------------------------------------------------------------------------- */

.ag-project-card__link {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;

	gap: 8px;

	margin-top: 22px;

	color: var(--ag-blue, #054b7f);

	font-size: 0.925rem;
	font-weight: 700;
	line-height: 1.3;

	text-decoration: none;

	transition:
		color 160ms ease,
		gap 160ms ease;
}

.ag-project-card--seller .ag-project-card__link {
	color: var(--ag-green, #4e963f);
}

.ag-project-card__link:focus-visible {
	outline: 2px solid var(--ag-green, #4e963f);
	outline-offset: 4px;

	border-radius: 3px;
}


/* ==========================================================================
   PROJETS — Laptop / petit desktop
   ========================================================================== */

@media (min-width: 1100px) and (max-width: 1399px) {

	.ag-home-projects {
		padding: 44px 0 76px;
	}

	.ag-home-projects__heading {
		width: calc(100% - 64px);
		max-width: 760px;

		margin: 0 auto 34px;
	}

	.home .ag-home-projects__title {
		width: 100%;
		max-width: 680px;

		margin: 0 auto;

		font-size: 2.15rem;
		line-height: 1.13;
	}

	.ag-home-projects__intro {
		width: 100%;
		max-width: 660px;

		margin: 14px auto 0;
	}

	.ag-home-projects__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));

		width: calc(100% - 64px);
		max-width: 1120px;

		margin-inline: auto;

		gap: 22px;
	}

	.ag-project-card {
		min-height: 260px;

		padding: 30px 32px 27px;
	}
}


/* ==========================================================================
   PROJETS — Tablette
   ========================================================================== */

@media (min-width: 701px) and (max-width: 1099px) {

	.ag-home-projects {
		padding: 36px 0 64px;
	}

	.ag-home-projects__heading {
		width: calc(100% - 48px);
		max-width: 720px;

		margin: 0 auto 30px;
	}

	.home .ag-home-projects__title {
		width: 100%;
		max-width: 600px;

		margin: 0 auto;

		font-size: 2rem;
		line-height: 1.14;
	}

	.ag-home-projects__intro {
		width: 100%;
		max-width: 620px;

		margin: 13px auto 0;

		font-size: 0.975rem;
		line-height: 1.6;
	}

	.ag-home-projects__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));

		width: calc(100% - 48px);
		max-width: 820px;

		margin-inline: auto;

		gap: 16px;
	}

	.ag-project-card {
		min-height: 250px;

		padding: 25px 24px 23px;
	}

	.ag-project-card__label {
		margin-bottom: 14px;
	}

	.ag-project-card__title {
		font-size: 1.35rem;
	}

	.ag-project-card__text {
		margin-top: 11px;

		font-size: 0.9rem;
		line-height: 1.55;
	}

	.ag-project-card__link {
		margin-top: 18px;

		font-size: 0.875rem;
	}
}


/* ==========================================================================
   PROJETS — Mobile
   ========================================================================== */

@media (max-width: 700px) {

	.ag-home-projects {
		padding: 28px 0 54px;
	}

	.ag-home-projects__heading {
		width: calc(100% - 32px);
		max-width: 380px;

		margin: 0 auto 24px;
	}

	.home .ag-home-projects__title {
		width: 100%;
		max-width: 350px;

		margin: 0 auto;

		font-size: 1.7rem;
		line-height: 1.15;
	}

	.ag-home-projects__intro {
		width: 100%;
		max-width: 350px;

		margin: 12px auto 0;

		font-size: 0.925rem;
		line-height: 1.55;
	}

	.ag-home-projects__grid {
		grid-template-columns: 1fr;

		width: calc(100% - 32px);
		max-width: 380px;

		margin-inline: auto;

		gap: 14px;
	}

	.ag-project-card {
		width: 100%;
		min-height: 0;

		padding: 24px 22px 22px;

		border-radius: 15px;
	}

	.ag-project-card__label {
		margin-bottom: 12px;
	}

	.ag-project-card__title {
		font-size: 1.32rem;
		line-height: 1.2;
	}

	.ag-project-card__text {
		margin-top: 10px;

		font-size: 0.9rem;
		line-height: 1.55;
	}

	.ag-project-card__link {
		margin-top: 18px;
	}
}


/* ==========================================================================
   SECTION — AG Groupe / Alexandre
   ========================================================================== */

.ag-home-agent {
	padding: 58px 0 72px;

	overflow: hidden;

	background-color: #f2f6f4;
}

.ag-home-agent__inner {
	display: grid;

	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	grid-template-areas:
		"visual intro"
		"visual details";

	align-items: center;

	column-gap: 64px;
	row-gap: 0;

	max-width: 1240px;
}


/* --------------------------------------------------------------------------
   Introduction
   -------------------------------------------------------------------------- */

.ag-home-agent__intro {
	grid-area: intro;

	align-self: end;

	width: 100%;
	max-width: 600px;
}

.home .ag-home-agent__title {
	width: 100%;
	max-width: 580px;

	margin: 0 auto;

	color: var(--ag-blue-dark, #073a61);

	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.02em;

	text-align: center;
	text-wrap: balance;
}

.home .ag-home-agent__lead {
	max-width: 570px;

	margin: 30px 0 0;

	color: var(--ag-text-main, #173042);

	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.6;

	text-wrap: pretty;
}



/* --------------------------------------------------------------------------
   Portrait
   -------------------------------------------------------------------------- */

.ag-home-agent__visual {
	grid-area: visual;

	position: relative;

	display: flex;
	align-items: flex-end;
	justify-content: center;

	min-height: 560px;

	overflow: visible;
}

.ag-home-agent__portrait-bg {
	position: absolute;

	top: 92px;
	right: 28px;
	bottom: 0;
	left: 28px;

	background-color: #e8f0f3;

	border: 1px solid rgba(5, 75, 127, 0.06);
	border-radius: 28px 28px 20px 20px;
}

.ag-home-agent__image {
	position: relative;
	z-index: 2;

	display: block;

	width: min(102%, 520px);
	height: auto;
	max-height: 600px;

	margin: 0;

	object-fit: contain;
	object-position: center bottom;

	filter:
		drop-shadow(0 12px 20px rgba(23, 48, 66, 0.05));
}


/* --------------------------------------------------------------------------
   Détails
   -------------------------------------------------------------------------- */

.ag-home-agent__details {
	grid-area: details;

	align-self: start;

	max-width: 580px;
}

.ag-home-agent__text {
	max-width: 570px;

	/* On rapproche légèrement le deuxième paragraphe */
	margin: 8px 0 0;

	color: var(--ag-text-muted, #667680);

	font-size: 0.95rem;
	line-height: 1.65;
}

.ag-home-agent__points {
	display: grid;

	gap: 10px;

	margin: 22px 0 0;
	padding: 0;

	list-style: none;
}

.ag-home-agent__points li {
	position: relative;

	padding-left: 24px;

	color: var(--ag-text-main, #173042);

	font-size: 0.925rem;
	line-height: 1.5;
}

.ag-home-agent__points li::before {
	content: "";

	position: absolute;
	top: 0.52em;
	left: 0;

	width: 7px;
	height: 7px;

	background-color: var(--ag-green, #4e963f);

	border-radius: 50%;
}

.ag-home-agent__link {
	display: inline-flex;
	align-items: center;

	gap: 8px;

	margin-top: 24px;

	color: var(--ag-blue, #054b7f);

	font-size: 0.925rem;
	font-weight: 700;

	text-decoration: none;

	transition:
		color 160ms ease,
		gap 160ms ease;
}

.ag-home-agent__link:focus-visible {
	outline: 2px solid var(--ag-green, #4e963f);
	outline-offset: 4px;

	border-radius: 3px;
}


/* ==========================================================================
   ALEXANDRE — Tablette
   ========================================================================== */

@media (min-width: 701px) and (max-width: 1099px) {

	.ag-home-agent {
		padding: 46px 0 60px;
	}

	.ag-home-agent__inner {
		grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
		grid-template-areas:
			"intro intro"
			"visual details";

		column-gap: 34px;
		row-gap: 30px;

		max-width: 720px;
	}

	.ag-home-agent__intro {
		max-width: 650px;

		margin-inline: auto;

		text-align: center;
	}

	.home .ag-home-agent__title {
		max-width: 590px;

		margin-inline: auto;

		font-size: 2rem;
		line-height: 1.16;
	}

	.home .ag-home-agent__lead {
		max-width: 620px;

		margin: 30px auto 0;

		font-size: 1rem;
		line-height: 1.65;

		text-align: center;
	}

	.ag-home-agent__visual {
		min-height: 410px;

		overflow: visible;
	}

	.ag-home-agent__portrait-bg {
		top: 76px;
		right: 12px;
		bottom: 0;
		left: 12px;

		border-radius: 24px 24px 18px 18px;
	}

	.ag-home-agent__image {
		width: min(104%, 340px);
		max-height: 435px;

		margin: 0;
	}

	.ag-home-agent__details {
		align-self: center;
	}

	.ag-home-agent__text {
		margin-top: 0;

		font-size: 0.925rem;
	}

	.ag-home-agent__points {
		margin-top: 18px;
	}

	.ag-home-agent__points li {
		font-size: 0.9rem;
	}
}


/* ==========================================================================
   ALEXANDRE — Mobile
   ========================================================================== */

@media (max-width: 700px) {

	.ag-home-agent {
		padding: 40px 0 50px;
	}

	.ag-home-agent__inner {
		grid-template-columns: 1fr;
		grid-template-areas:
			"intro"
			"visual"
			"details";

		row-gap: 26px;

		width: calc(100% - 32px);
		max-width: 380px;

		margin-inline: auto;
	}

	.ag-home-agent__intro {
		max-width: 100%;

		margin-inline: auto;

		text-align: center;
	}

	.home .ag-home-agent__title {
		max-width: 340px;

		margin-inline: auto;

		font-size: 1.7rem;
		line-height: 1.15;
	}

	.home .ag-home-agent__lead {
		max-width: 340px;

		margin: 24px auto 0;

		font-size: 0.95rem;
		line-height: 1.55;

		text-align: center;
	}

	.ag-home-agent__visual {
		width: 100%;
		min-height: 330px;

		margin-inline: auto;

		overflow: visible;
	}

	.ag-home-agent__portrait-bg {
		top: 62px;
		right: 10px;
		bottom: 0;
		left: 10px;

		border-radius: 20px 20px 15px 15px;
	}

	.ag-home-agent__image {
		width: min(94%, 285px);
		max-height: 350px;

		margin: 0;
	}

	.ag-home-agent__details {
		max-width: 100%;
	}

	.ag-home-agent__text {
		margin: 0;

		font-size: 0.925rem;
		line-height: 1.6;

		text-align: left;
	}

	.ag-home-agent__points {
		margin-top: 18px;
	}

	.ag-home-agent__points li {
		font-size: 0.9rem;
	}

	.ag-home-agent__link {
		margin-top: 21px;
	}
}


/* ==========================================================================
   Hover — appareils avec pointeur précis
   ========================================================================== */

@media (hover: hover) and (pointer: fine) {

	.ag-home-hero__proof-link:hover {
		gap: 8px;

		color: var(--ag-green, #4e963f);
	}

	.ag-project-card:hover {
		transform: translateY(-3px);

		border-color: rgba(5, 75, 127, 0.18);

		box-shadow:
			0 14px 32px rgba(23, 48, 66, 0.07);
	}

	.ag-project-card__link:hover {
		gap: 12px;

		color: var(--ag-blue-dark, #073a61);
	}

	.ag-home-agent__link:hover {
		gap: 12px;

		color: var(--ag-green, #4e963f);
	}
}


/* ==========================================================================
   Réduction des animations
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

	.ag-home-hero__proof-link,
	.ag-project-card,
	.ag-project-card__link,
	.ag-home-agent__link {
		transition: none;
	}
}

/* ==========================================================================
   SECTION — Biens disponibles
   ========================================================================== */

.ag-home-properties {
	padding: 76px 0 88px;

	background-color: #ffffff;
}

.ag-home-properties__inner {
	max-width: 1240px;
}


/* --------------------------------------------------------------------------
   En-tête
   -------------------------------------------------------------------------- */

.ag-home-properties__heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;

	gap: 40px;

	margin-bottom: 34px;
}

.ag-home-properties__heading-content {
	max-width: 680px;
}

.home .ag-home-properties__title {
	margin: 0;

	color: var(--ag-blue-dark, #073a61);

	font-size: 2.375rem;
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.02em;

	text-wrap: balance;
}

.ag-home-properties__intro {
	max-width: 600px;

	margin: 14px 0 0;

	color: var(--ag-text-muted, #667680);

	font-size: 1rem;
	line-height: 1.6;
}

.ag-home-properties__all-link {
	display: inline-flex;
	align-items: center;

	flex-shrink: 0;

	gap: 8px;

	margin-bottom: 3px;

	color: var(--ag-blue, #054b7f);

	font-size: 0.925rem;
	font-weight: 700;

	text-decoration: none;

	transition:
		color 160ms ease,
		gap 160ms ease;
}


/* --------------------------------------------------------------------------
   Grille
   -------------------------------------------------------------------------- */

.ag-home-properties__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));

	gap: 22px;
}


/* --------------------------------------------------------------------------
   Carte
   -------------------------------------------------------------------------- */

.ag-property-card {
	min-width: 0;

	overflow: hidden;

	background-color: #ffffff;

	border: 1px solid var(--ag-border-light, #e4ebe7);
	border-radius: 18px;

	transition:
		transform 180ms ease,
		border-color 180ms ease,
		box-shadow 180ms ease;
}


/* --------------------------------------------------------------------------
   Photo
   -------------------------------------------------------------------------- */

.ag-property-card__image-link {
	display: block;

	color: inherit;
	text-decoration: none;
}

.ag-property-card__image-wrapper {
	position: relative;

	aspect-ratio: 4 / 3;

	overflow: hidden;

	background-color: var(--ag-background-soft, #f7f9f8);
}

.ag-property-card__image {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center;

	transition: transform 350ms ease;
}


/* --------------------------------------------------------------------------
   Statut
   -------------------------------------------------------------------------- */

.ag-property-card__status {
	position: absolute;
	top: 16px;
	left: 16px;

	padding: 7px 11px;

	background-color: rgba(255, 255, 255, 0.94);

	color: var(--ag-green, #4e963f);

	border-radius: 7px;

	box-shadow:
		0 4px 14px rgba(23, 48, 66, 0.06);

	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;

	text-transform: uppercase;
	letter-spacing: 0.04em;
}


/* --------------------------------------------------------------------------
   Contenu
   -------------------------------------------------------------------------- */

.ag-property-card__content {
	padding: 23px 24px 22px;
}

.ag-property-card__location {
	margin: 0;

	color: var(--ag-green, #4e963f);

	font-size: 0.8rem;
	font-weight: 700;
	line-height: 1.4;

	text-transform: uppercase;
	letter-spacing: 0.055em;
}

.home .ag-property-card__title {
	margin: 8px 0 0;

	color: var(--ag-blue-dark, #073a61);

	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.015em;
}

.ag-property-card__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 7px;

	margin-top: 11px;

	color: var(--ag-text-muted, #667680);

	font-size: 0.875rem;
	line-height: 1.45;
}


/* --------------------------------------------------------------------------
   Prix + lien
   -------------------------------------------------------------------------- */

.ag-property-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 15px;

	margin-top: 24px;
	padding-top: 18px;

	border-top: 1px solid var(--ag-border-light, #e4ebe7);
}

.ag-property-card__price {
	color: var(--ag-blue-dark, #073a61);

	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.25;
}

.ag-property-card__link {
	display: inline-flex;
	align-items: center;

	gap: 6px;

	color: var(--ag-blue, #054b7f);

	font-size: 0.875rem;
	font-weight: 700;

	text-decoration: none;

	transition:
		color 160ms ease,
		gap 160ms ease;
}

.ag-property-card__link:focus-visible,
.ag-home-properties__all-link:focus-visible {
	outline: 2px solid var(--ag-green, #4e963f);
	outline-offset: 4px;

	border-radius: 3px;
}


/* --------------------------------------------------------------------------
   CTA mobile
   -------------------------------------------------------------------------- */

.ag-home-properties__mobile-action {
	display: none;
}


/* ==========================================================================
   BIENS — Laptop / petit desktop
   ========================================================================== */

@media (min-width: 1100px) and (max-width: 1399px) {

	.ag-home-properties {
		padding: 66px 0 76px;
	}

	.ag-home-properties__inner {
		width: calc(100% - 64px);
	}

	.home .ag-home-properties__title {
		font-size: 2.15rem;
	}

	.ag-home-properties__grid {
		gap: 18px;
	}

	.ag-property-card__content {
		padding: 21px 22px 20px;
	}
}


/* ==========================================================================
   BIENS — Tablette
   ========================================================================== */

@media (min-width: 701px) and (max-width: 1099px) {

	.ag-home-properties {
		padding: 58px 0 66px;
	}

	.ag-home-properties__inner {
		width: calc(100% - 48px);
	}

	.ag-home-properties__heading {
		gap: 30px;

		margin-bottom: 30px;
	}

	.home .ag-home-properties__title {
		font-size: 2rem;
		line-height: 1.14;
	}

	.ag-home-properties__intro {
		font-size: 0.975rem;
	}

	.ag-home-properties__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));

		gap: 16px;
	}

	.ag-property-card:nth-child(3) {
		display: none;
	}

	.ag-property-card__content {
		padding: 20px 21px;
	}
}


/* ==========================================================================
   BIENS — Mobile
   ========================================================================== */

@media (max-width: 700px) {

	.ag-home-properties {
		padding: 48px 0 54px;
	}

	.ag-home-properties__inner {
		width: calc(100% - 32px);
		max-width: 380px;
	}

	.ag-home-properties__heading {
		display: block;

		margin-bottom: 25px;
	}

	.home .ag-home-properties__title {
		max-width: 340px;

		font-size: 1.7rem;
		line-height: 1.15;
	}

	.ag-home-properties__intro {
		max-width: 340px;

		margin-top: 12px;

		font-size: 0.925rem;
		line-height: 1.55;
	}

	.ag-home-properties__all-link {
		display: none;
	}

	.ag-home-properties__grid {
		grid-template-columns: 1fr;

		gap: 16px;
	}

	.ag-property-card:nth-child(3) {
		display: none;
	}

	.ag-property-card {
		border-radius: 16px;
	}

	.ag-property-card__content {
		padding: 19px 20px 20px;
	}

	.home .ag-property-card__title {
		font-size: 1.3rem;
	}

	.ag-property-card__footer {
		margin-top: 20px;
	}

	.ag-home-properties__mobile-action {
		display: flex;
		justify-content: center;

		margin-top: 24px;
	}

	.ag-home-properties__mobile-action .ag-button {
		width: 100%;
	}
}


/* ==========================================================================
   Hover
   ========================================================================== */

@media (hover: hover) and (pointer: fine) {

	.ag-property-card:hover {
		transform: translateY(-4px);

		border-color: rgba(5, 75, 127, 0.18);

		box-shadow:
			0 16px 38px rgba(23, 48, 66, 0.08);
	}

	.ag-property-card:hover .ag-property-card__image {
		transform: scale(1.025);
	}

	.ag-property-card__link:hover,
	.ag-home-properties__all-link:hover {
		gap: 10px;

		color: var(--ag-green, #4e963f);
	}
}