/**
 * Maison Pierre - Homepage sections styles
 * Matches reference screenshot exactly.
 */

/* ─── Shared utilities ────────────────────────────── */
.mp-hp-section-title {
	text-align: center;
	font-size: clamp(20px, 2.6vw, 34px);
	font-weight: 700;
	color: #1e2d36;
	margin: 0 0 10px;
}
.mp-hp-section-sub {
	text-align: center;
	font-size: 15px;
	color: #666;
	margin: 0 0 38px;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}
.mp-hp-btn {
	display: inline-block;
	padding: 12px 26px;
	border-radius: 4px;
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
	transition: opacity 0.2s, transform 0.15s;
}
.mp-hp-sub-titles-bloc-maison {
    margin: 0;
}
.mp-hp-btn:hover { opacity: 0.88; transform: translateY(-1px); }
.mp-hp-btn--red   { background: #e02623; color: #fff; }
.mp-hp-btn--white { background: #fff;    color: #e02623; }
.mp-hp-btn--outline { background: transparent; color: #e02623; border: 2px solid #e02623; }

/* ─── HERO SLIDER ─────────────────────────────────── */
.mp-hp-hero {
	position: relative;
	width: 100%;
	height: 700px;
	overflow: hidden;
	background: #1a1a1a;
}
.mp-hp-hero__track { 
	position: relative; 
	width: 100%; 
	height: 100%; 
}
.mp-hp-hero__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.8s ease, visibility 0.8s ease;
	display: flex;
	align-items: center;
}
.mp-hp-hero__slide.is-active { 
	opacity: 1; 
	visibility: visible; 
	z-index: 1; 
}
.mp-hp-hero__bg {
	position: absolute;
	inset: 0;
	background: #111;
	transition: transform 6s ease-out;
	z-index: 0;
}
.mp-hp-hero__bg picture,
.mp-hp-hero__bg img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mp-hp-hero__slide.is-active .mp-hp-hero__bg { 
	transform: scale(1.04); 
}
.mp-hp-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.28) 55%, transparent 80%);
	z-index: 1;
}
.mp-hp-hero__content {
	position: relative;
	z-index: 2;
	color: #fff;
	max-width: 640px;
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.6s ease 0.3s, transform 0.6s ease 0.3s;
}
.mp-hp-hero__slide.is-active .mp-hp-hero__content { opacity: 1; transform: none; }
.mp-hp-hero__badge {
	display: inline-block;
	background: #e02623;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	padding: 5px 12px;
	border-radius: 3px;
	margin-bottom: 14px;
}
.mp-hp-hero__title {
	margin: 0 0 14px;
	font-size: clamp(24px, 4vw, 46px);
	font-weight: 800;
	line-height: 1.15;
	text-shadow: 0 2px 12px rgba(0,0,0,0.25);
}
.mp-hp-hero__subtitle {
	margin: 0 0 30px 0;
    font-size: 20px;
    line-height: 1.55;
    opacity: 0.92;
}
/* Arrows */
.mp-hp-hero__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	background: rgba(255,255,255,0.18);
	border: 1px solid rgba(255,255,255,0.35);
	color: #fff;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.2s;
}
.mp-hp-hero__arrow:hover { background: rgba(255,255,255,0.32); }
.mp-hp-hero__arrow--prev { left: 18px; }
.mp-hp-hero__arrow--next { right: 18px; }
/* Dots */
.mp-hp-hero__dots {
	position: absolute;
	bottom: 80px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	display: flex;
	gap: 8px;
}
.mp-hp-hero__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: rgba(255,255,255,0.45);
	border: 0;
	cursor: pointer;
	transition: background 0.2s, transform 0.2s;
}
.mp-hp-hero__dot.is-active { background: #fff; transform: scale(1.25); }
/* Quick cards bar */
.mp-hp-hero__cards {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 10;
	background: #fff;
	border-top: 1px solid #eaeaea;
}
.mp-hp-hero__cards-inner {
	display: flex;
	align-items: stretch;
}
.mp-hp-hero__card {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 26px 30px;
	text-decoration: none;
	color: #333;
	border-right: 1px solid #eaeaea;
	transition: background 0.2s;
}
.mp-hp-hero__card:last-child { border-right: 0; }
.mp-hp-hero__card:hover { background: #fafafa; }
.mp-hp-hero__card-icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.mp-hp-hero__card-icon img {
	width: 34px;
	height: 34px;
	object-fit: contain;
	display: block;
}
.mp-hp-hero__card-icon--red   { background: #fde8e8; color: #e02623; }
.mp-hp-hero__card-icon--green { background: #e6f4da; color: #4a8c2a; }
.mp-hp-hero__card-text { display: flex; flex-direction: column; }
.mp-hp-hero__card-text strong { font-size: 16px; font-weight: 900; line-height: 1.15; }
.mp-hp-hero__card-text small  { font-size: 14px; color: #7f8a94; line-height: 1.2; margin-top: 3px; }

/* ─── FILTER BAR ──────────────────────────────────── */
.mp-hp-filters {
	background: #fff;
	border-bottom: 1px solid #e5e5e5;
}
.mp-hp-filters__row {
	display: flex;
	align-items: center;
}
.mp-hp-filters__field {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 14px 22px;
	cursor: pointer;
}
.mp-hp-filters__field--sep { border-left: 1px solid #e5e5e5; }
.mp-hp-filters__field-label {
	font-size: 13px;
	font-weight: 700;
	color: #222;
	line-height: 1.2;
}
.mp-hp-filters__field-value {
	font-size: 12px;
	color: #999;
	line-height: 1.2;
	margin-top: 3px;
}
.mp-hp-filters__btn-wrap {
	padding: 10px 18px;
	border-left: 1px solid #e5e5e5;
}

/* ─── WELCOME BAR ─────────────────────────────────── */
.mp-hp-welcome {
	background: #f5f5f5;
	padding: 28px 20px;
}
.mp-hp-welcome__inner { max-width: 1000px; margin: 0 auto; }
.mp-hp-welcome__text {
	text-align: center;
	font-size: 15px;
	color: #555;
	margin: 0 0 22px;
	line-height: 1.6;
}
.mp-hp-welcome__cards {
	display: flex;
	gap: 14px;
	justify-content: center;
}
.mp-hp-welcome__card {
	flex: 1;
	max-width: 280px;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	padding: 16px 14px;
	text-align: center;
	text-decoration: none;
	color: #222;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}
.mp-hp-welcome__card:nth-child(1) { animation-delay: 0.1s; }
.mp-hp-welcome__card:nth-child(2) { animation-delay: 0.2s; }
.mp-hp-welcome__card:nth-child(3) { animation-delay: 0.3s; }
.mp-hp-welcome__card:nth-child(4) { animation-delay: 0.4s; }

.mp-hp-welcome__card:hover { 
	box-shadow: 0 4px 16px rgba(0,0,0,0.08); 
	transform: translateY(-2px);
	border-color: #c23b3b;
}
.mp-hp-welcome__icon { 
	font-size: 26px; 
	line-height: 1;
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.mp-hp-welcome__card:hover .mp-hp-welcome__icon {
	transform: scale(1.1);
}
.mp-hp-welcome__label { 
	font-size: 13px; 
	font-weight: 700;
	transition: color 0.3s ease;
}
.mp-hp-welcome__card:hover .mp-hp-welcome__label {
	color: #c23b3b;
}

/* Keyframes for animations */
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes slideInLeft {
	from {
		opacity: 0;
		transform: translateX(-30px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes slideInRight {
	from {
		opacity: 0;
		transform: translateX(30px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/* Subtle hover effects for cards */
.mp-front-page .wp-block-column,
.mp-front-page [class*="has-background"] .wp-block-column {
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.mp-front-page .wp-block-column:hover,
.mp-front-page [class*="has-background"] .wp-block-column:hover {
	transform: translateY(-3px);
}

/* ─── UNE MAISON QUI VOUS RESSEMBLE ──────────────── */
.mp-hp-ressemble {
	background: #fff;
	padding: 56px 20px 40px;
}
.mp-hp-ressemble__inner {
	max-width: 1100px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 52px;
	align-items: center;
}
/* Carousel */
.mp-hp-ressemble__left { position: relative; }
.mp-hp-ressemble__slides {
	position: relative;
	border-radius: 6px;
	overflow: hidden;
	background: #f0f0f0;
	aspect-ratio: 620/430;
}
.mp-hp-ressemble__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.6s ease, visibility 0.6s ease;
}
.mp-hp-ressemble__slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.mp-hp-ressemble__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mp-hp-ressemble__slide picture,
.mp-hp-ressemble__slide img {
	position: absolute;
	inset: 0;
}

/* Slide overlay (per-slide title/subtitle + CTA) */
.mp-hp-ressemble__slide-overlay {
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 16px;
	max-width: 420px;
	padding: 14px 16px;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 12px;
	text-decoration: none;
	display: inline-flex;
	flex-direction: column;
	gap: 8px;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.mp-hp-ressemble__slide-title {
	margin: 0;
	font-size: 18px;
	line-height: 1.15;
	font-weight: 900;
	color: #27323a;
}

.mp-hp-ressemble__slide-subtitle {
	margin: 0;
	font-size: 14px;
	line-height: 1.35;
	color: #4b5963;
}

.mp-hp-ressemble__slide-cta {
	align-self: flex-start;
	padding: 10px 14px;
	border-radius: 6px;
	background: #e02623;
	color: #fff;
	font-weight: 900;
	font-size: 13px;
}

.mp-hp-ressemble__slide.is-active .mp-hp-ressemble__slide-overlay {
	/* ensure overlay is interactive when slide is active */
	pointer-events: auto;
}
.mp-hp-ressemble__dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 14px;
}
.mp-hp-ressemble__dot {
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: #c8c8c8;
	border: 0;
	cursor: pointer;
	transition: background 0.2s, transform 0.2s;
}
.mp-hp-ressemble__dot.is-active { background: #888; transform: scale(1.2); }
/* Content */
.mp-hp-ressemble__title {
	font-size: clamp(22px, 2.6vw, 38px);
	font-weight: 700;
	color: #3f5b64;
	margin: 0 0 14px;
	line-height: 1.2;
}
.mp-hp-ressemble__text {
	font-size: 15px;
	color: #555;
	line-height: 1.6;
	margin: 0 0 10px;
}
.mp-hp-ressemble__features {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px 20px;
	margin: 18px 0 22px;
}
.mp-hp-ressemble__feature {
	display: flex;
	align-items: center;
	gap: 10px;
}
.mp-hp-ressemble__feature img { flex-shrink: 0; }
.mp-hp-ressemble__feature span {
	font-size: 14px;
	font-weight: 600;
	color: #222;
	line-height: 1.3;
}

/* ─── STATS BAR ───────────────────────────────────── */
.mp-hp-stats {
	background: #f5f5f5;
	padding: 32px 20px;
}
.mp-hp-stats__grid {
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	align-items: flex-start;
}
.mp-hp-stats__item {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 16px 12px;
	gap: 6px;
}
.mp-hp-stats__item--border { border-right: 1px solid #ddd; }
.mp-hp-stats__icon {
	width: 58px;
	height: 58px;
	object-fit: contain;
	margin-bottom: 4px;
}
.mp-hp-stats__number {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
}
.mp-hp-stats__label {
	font-size: 13px;
	font-weight: 600;
	color: #333;
	line-height: 1.3;
	margin: 0;
}

/* (Satisfaction row animations live in main.css — always loaded with main.js) */

/* ─── FAIRE CONSTRUIRE + VIDEO ────────────────────── */
.mp-hp-fc {
	background: #ededed;
	padding: 70px 20px 56px;
}
.mp-hp-fc__inner {
	max-width: 1100px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: center;
}
.mp-hp-fc__title {
	font-size: clamp(20px, 2.6vw, 34px);
	font-weight: 800;
	color: #e02623;
	margin: 0 0 16px;
	line-height: 1.3;
}
.mp-hp-fc__text {
	font-size: 15px;
	color: #555;
	line-height: 1.65;
	margin: 0 0 14px;
}
.mp-hp-fc__text--note { font-size: 12px; color: #777; margin-top: 10px; }
.mp-hp-fc__clients {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 6px;
}
.mp-hp-fc__client {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
}
.mp-hp-fc__client img {
	width: 58px;
	height: 58px;
	border-radius: 50%;
	object-fit: cover;
}
.mp-hp-fc__client span {
	font-size: 11px;
	color: #777;
	text-align: center;
}
/* Video */
.mp-hp-fc__youtube{
	border-radius: 10px;
	overflow: hidden;
	background: #111;
	box-shadow: 0 12px 30px rgba(0,0,0,0.18);
	border: 1px solid rgba(0,0,0,0.08);
	aspect-ratio: 16 / 9;
}
.mp-hp-fc__youtube iframe{
	width: 100%;
	height: 100%;
	display: block;
}
.mp-hp-fc__youtube-empty{
	display:flex;
	align-items:center;
	justify-content:center;
	padding: 28px;
	color:#fff;
	font-weight:700;
	text-align:center;
	min-height: 220px;
}

/* Carousel (cards under video) */
.mp-hp-fc-carousel{
	max-width: 1100px;
	margin: 34px auto 0;
	display: block;
	position: relative;
}
.mp-hp-fc-carousel__dots{
	display:flex;
	align-items:center;
	gap: 8px;
	justify-content:flex-start;
}
.mp-hp-fc-carousel__dot{
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 0;
	background: #cfcfcf;
	cursor: pointer;
	transition: transform .15s ease, background .15s ease;
}
.mp-hp-fc-carousel__dot.is-active{ background:#9a9a9a; transform: scale(1.25); }
.mp-hp-fc-carousel__arrow{
	width: 44px;
	height: 44px;
	border-radius: 999px;
	border: 1px solid rgba(0,0,0,0.10);
	background: rgba(255,255,255,0.92);
	color: #20262b;
	font-size: 22px;
	line-height: 1;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	box-shadow: 0 10px 26px rgba(0,0,0,0.10);
	transition: transform .18s ease, background .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.mp-hp-fc-carousel__track{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
}
.mp-hp-fc-carousel__track{
	position: relative;
}
/* subtle dotted guide line behind the cards (desktop) */
@media (min-width: 769px) {
	.mp-hp-fc-carousel__track::before{
		content:"";
		position:absolute;
		left: 0;
		right: 0;
		top: 110px;
		border-top: 2px dotted rgba(0,0,0,0.16);
	}
}
.mp-hp-fc-carousel__card{
	min-width: 0;
	background:#fff;
	border: 1px solid rgba(0,0,0,0.08);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 14px 40px rgba(0,0,0,0.10);
	text-decoration:none;
	color: inherit;
	position: relative; /* allow badge layering above label */
	transform: translateY(0);
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.mp-hp-fc-carousel__card:hover{
	transform: translateY(-4px);
	border-color: rgba(224,38,35,0.28);
	box-shadow: 0 22px 54px rgba(0,0,0,0.14);
}
.mp-hp-fc-carousel__img{
	position: relative;
	height: 150px;
	background: linear-gradient(180deg, #f2f2f2 0%, #e9e9e9 100%);
	overflow:hidden;
}
.mp-hp-fc-carousel__img img{
	width:100%;
	height:100%;
	object-fit: cover;
	display:block;
	transform: scale(1.001);
	transition: transform .35s ease;
}
.mp-hp-fc-carousel__card:hover .mp-hp-fc-carousel__img img{ transform: scale(1.04); }
.mp-hp-fc-carousel__badge
 {
    position: absolute;
    left: 50%;
    top: 150px;
    transform: translate(-50%, -50%);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #fff;
    color: #e02623;
    font-weight: 900;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
    z-index: 10;
}
.mp-hp-fc-carousel__label{
	position: relative;
	z-index: 5;
	display:flex;
	align-items:center;
	justify-content: center;
	gap: 10px;
	padding: 30px 16px 16px;
	font-size: 13px;
	font-weight: 800;
	color:#111;
	letter-spacing: 0.1px;
}
.mp-hp-fc-carousel__chev{
	color:#111;
	font-size: 18px;
	transform: translateY(-1px);
	opacity: 0.9;
}

/* Desktop: 4 cards static (no carousel UI) */
@media (min-width: 769px) {
	/* Layout like screenshot: dots left, arrow right */
	.mp-hp-fc-carousel{
		display: grid;
		grid-template-columns: 120px 1fr 56px;
		align-items: center;
		gap: 18px;
	}
	.mp-hp-fc-carousel__dots{
		display: flex;
		justify-content: flex-start;
		align-self: center;
		margin: 0;
		opacity: 0.8;
	}
	.mp-hp-fc-carousel__arrow{
		display: flex;
		width: 44px;
		height: 44px;
		border-radius: 0;
		background: transparent;
		border: 0;
		color: transparent; /* hide the '›' character */
		box-shadow: none;
		transform: none;
		justify-self: end;
		position: relative;
	}
	.mp-hp-fc-carousel__arrow:hover{
		background: transparent;
	}
	/* Simple triangle arrow (not a carousel button) */
	.mp-hp-fc-carousel__arrow--next::after{
		content:"";
		position:absolute;
		right: -2px;
		top: 50%;
		transform: translateY(-50%);
		width: 0;
		height: 0;
		border-top: 8px solid transparent;
		border-bottom: 8px solid transparent;
		border-left: 12px solid rgba(0,0,0,0.35);
	}
	.mp-hp-fc-carousel__arrow--next:hover::after{
		border-left-color: rgba(0,0,0,0.45);
	}
	/* show only the "next" arrow like screenshot */
	.mp-hp-fc-carousel__arrow--prev{ display:none; }
}

/* ─── C'EST AUSSI ─────────────────────────────────── */
.mp-hp-aussi {
	background: #fff;
	padding: 72px 20px;
	position: relative;
}
.mp-hp-aussi :where(.wp-block-heading){ color: #4f5e67; }
.mp-hp-aussi :where(p){ color: #6a6f75; }

/* Gutenberg structure inside the section */
.mp-hp-aussi .wp-block-columns{
	gap: 28px;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
.mp-hp-aussi .wp-block-column > .wp-block-group{
	background: #fff;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid rgba(0,0,0,0.06);
	box-shadow: 0 18px 50px rgba(0,0,0,0.10);
	transform: translateY(0);
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.wp-block-group.homepage-bloc-maison.has-background {
    padding: 0.25em 0.375em;
}
.wp-block-group.homepage-bloc-maison.has-background img {
    border-top-left-radius: 3%;
    border-top-right-radius: 3%;
}
.mp-hp-aussi .wp-block-column > .wp-block-group:hover{
	transform: translateY(-6px);
	border-color: rgba(224,38,35,0.16);
	box-shadow: 0 26px 70px rgba(0,0,0,0.14);
}
.mp-hp-aussi .wp-block-column > .wp-block-group > .wp-block-image img{
	display: block;
	width: 100%;
	aspect-ratio: 16/9;
	object-fit: cover;
	transform: scale(1.001);
	transition: transform .45s ease;
}
.mp-hp-aussi .wp-block-column > .wp-block-group:hover > .wp-block-image img{
	transform: scale(1.04);
}
.mp-hp-aussi .wp-block-column > .wp-block-group > .wp-block-group{
	padding: 26px 26px 24px;
}
.mp-hp-aussi .wp-block-column > .wp-block-group > .wp-block-group > :where(h3){
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 900;
	letter-spacing: .1px;
}

/* Optional small text under the title (add a paragraph with this class in Gutenberg) */
.mp-hp-aussi .mp-hp-aussi__kicker{
	margin: 0 0 12px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 1.1px;
	text-transform: uppercase;
	color: #e02623;
	opacity: 0.95;
}

.mp-hp-aussi .wp-block-column > .wp-block-group > .wp-block-group > :where(p){
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 1.65;
}

.mp-hp-aussi .wp-block-button__link{
	border-radius: 10px !important;
	padding: 12px 18px !important;
	font-weight: 700 !important;
	letter-spacing: .1px;
	box-shadow: 0 12px 24px rgba(224,38,35,0.16);
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.mp-hp-aussi .wp-block-button__link:hover{
	transform: translateY(-1px);
	box-shadow: 0 16px 34px rgba(224,38,35,0.22);
	filter: saturate(1.03);
}

/* ─── POURQUOI INVESTIR ───────────────────────────── */
.mp-hp-investir {
	background: #fff;
	padding: 60px 20px;
}
.mp-hp-investir__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.mp-hp-investir__card {
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 8px;
	padding: 26px 18px;
	text-align: center;
}
.mp-hp-investir__icon {
	width: 52px;
	height: 52px;
	object-fit: contain;
	margin: 0 auto 12px;
	display: block;
}
.mp-hp-investir__card h4 {
	font-size: 15px;
	font-weight: 700;
	margin: 0 0 8px;
	color: #1e2d36;
}
.mp-hp-investir__card p {
	font-size: 13px;
	color: #666;
	margin: 0;
	line-height: 1.5;
}

/* ─── LE SAVIEZ-VOUS ──────────────────────────────── */
.mp-hp-saviez {
	background: #ededed;
	padding: 60px 20px;
}
.mp-hp-saviez__inner {
	max-width: 1100px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 2fr 3fr;
	gap: 36px;
	align-items: start;
}
.mp-hp-saviez__card {
	background: #e02623;
	border-radius: 8px;
	padding: 28px;
	color: #fff;
}
.mp-hp-saviez__card h3 {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 12px;
}
.mp-hp-saviez__card p {
	font-size: 14px;
	line-height: 1.6;
	opacity: 0.93;
	margin: 0 0 20px;
}
.mp-hp-saviez__stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.mp-hp-saviez__stat {
	background: #fff;
	border-radius: 8px;
	padding: 20px;
}
.mp-hp-saviez__num {
	font-size: 28px;
	font-weight: 800;
	color: #e02623;
	margin: 0 0 5px;
	line-height: 1;
}
.mp-hp-saviez__lbl {
	font-size: 13px;
	color: #555;
	margin: 0;
	line-height: 1.4;
}

/* ─── CONSEILS D'EXPERTS (featured + 2×5 list) ───── */
.mp-hp-conseils {
	background: #fff;
	padding: 56px 20px 64px;
}
.mp-hp-conseils__heading,
.mp-hp-conseils .mp-hp-conseils__heading,
.mp-hp-conseils > .mp-container > .mp-hp-section-title {
	margin-top: 0;
	margin-bottom: 36px;
	color: #546e7a;
	font-weight: 700;
	letter-spacing: -0.02em;
	text-align: center;
	font-size: clamp(22px, 2.6vw, 2.05rem);
}
.mp-hp-conseils__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: 40px 40px;
	align-items: start;
	margin-bottom: 40px;
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
}
.mp-hp-conseils__featured {
	min-width: 0;
}
.mp-hp-conseils__featured-media {
	display: block;
	overflow: hidden;
	margin: 0 0 14px;
	background: #eceff1;
	line-height: 0;
	transition: box-shadow 0.35s ease;
}
.mp-hp-conseils__featured-media img {
	width: 100%;
	height: auto;
	aspect-ratio: 720 / 450;
	object-fit: cover;
	display: block;
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.mp-hp-conseils__featured:hover .mp-hp-conseils__featured-media {
	box-shadow: 0 20px 48px rgba(33, 47, 58, 0.12);
}
.mp-hp-conseils__featured:hover .mp-hp-conseils__featured-media img {
	transform: scale(1.03);
}
.mp-hp-conseils__kicker {
	margin: 0 0 8px;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #bdbdbd;
}
.mp-hp-conseils__featured-title {
	margin: 0 0 12px;
	font-size: clamp(1.15rem, 1.9vw, 1.45rem);
	font-weight: 700;
	line-height: 1.28;
	color: #455a64;
}
.mp-hp-conseils__featured-title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}
.mp-hp-conseils__featured-title a:hover {
	color: #d32f2f;
}
.mp-hp-conseils__excerpt {
	margin: 0;
	font-size: 15px;
	line-height: 1.65;
	color: #757575;
}
/* Colonnes liste */
.mp-hp-conseils__rack {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 28px;
	min-width: 0;
	align-content: start;
}
.mp-hp-conseils__rack-col {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.mp-hp-conseils__mini {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid #e0e0e0;
	text-decoration: none;
	color: inherit;
	transition:
		transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.28s ease;
	border-radius: 0;
}
.mp-hp-conseils__rack-col .mp-hp-conseils__mini:last-child {
	border-bottom: 0;
}
.mp-hp-conseils__mini:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(33, 47, 58, 0.08);
}
.mp-hp-conseils__mini-thumb {
	flex: 0 0 112px;
	width: 112px;
	height: 72px;
	overflow: hidden;
	background: #eceff1;
	line-height: 0;
}
.mp-hp-conseils__mini-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.mp-hp-conseils__mini:hover .mp-hp-conseils__mini-thumb img {
	transform: scale(1.06);
}
.mp-hp-conseils__mini-text {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
	padding-top: 2px;
}
.mp-hp-conseils__mini-text .mp-hp-conseils__kicker {
	margin: 0;
}
.mp-hp-conseils__mini-title {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	color: #455a64;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
}
.mp-hp-conseils__mini:hover .mp-hp-conseils__mini-title {
	color: #37474f;
}
/* CTA */
.mp-hp-conseils .wp-block-buttons {
	justify-content: center;
	margin-top: 8px;
}
.mp-hp-conseils .mp-hp-conseils__btn .wp-block-button__link,
.mp-hp-conseils__cta .mp-hp-btn {
	border-radius: 0;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 0.02em;
	transition: background 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
}
.mp-hp-conseils .mp-hp-conseils__btn .wp-block-button__link:hover,
.mp-hp-conseils__cta .mp-hp-btn:hover {
	background: #b71c1c !important;
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(211, 47, 47, 0.35);
}
/* Legacy grid (ancien template 3 cartes) */
.mp-hp-conseils__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-bottom: 36px;
}
.mp-hp-conseils__card {
	background: #fff;
	border: 1px solid #eee;
	border-radius: 8px;
	overflow: hidden;
}
.mp-hp-conseils__img-link { display: block; }
.mp-hp-conseils__img-link img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16/9;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.mp-hp-conseils__card:hover .mp-hp-conseils__img-link img { transform: scale(1.03); }
.mp-hp-conseils__body { padding: 18px; }
.mp-hp-conseils__body .mp-hp-conseils__cat {
	color: #bdbdbd;
	font-size: 10px;
	letter-spacing: 0.12em;
}
.mp-hp-conseils__body h3 {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 8px;
}
.mp-hp-conseils__body h3 a {
	color: #455a64;
	text-decoration: none;
}
.mp-hp-conseils__body h3 a:hover { color: #d32f2f; }
.mp-hp-conseils__body p {
	font-size: 13px;
	color: #757575;
	margin: 0 0 12px;
	line-height: 1.5;
}
.mp-hp-conseils__more {
	font-size: 13px;
	font-weight: 600;
	color: #d32f2f;
	text-decoration: none;
}
.mp-hp-conseils__cta { text-align: center; }

/* ─── RESPONSIVE ──────────────────────────────────── */
@media (max-width: 1024px) {
	.mp-hp-hero { height: 500px; }
	.mp-hp-hero__content {
		padding: 0 20px;
		max-width: 580px;
	}
	.mp-hp-hero__title {
		font-size: 2rem;
	}
	.mp-hp-hero__subtitle {
		font-size: 1rem;
	}
	.mp-hp-investir__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
	.mp-hp-hero { 
		height: 726px;
		min-height: 726px;
	}
	.mp-hp-hero__slide {
		align-items: flex-start;
		justify-content: center;
		padding-top: 90px;
	}
	.mp-hp-hero__overlay {
		background: linear-gradient(to bottom, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.5) 50%, rgba(0,0,0,0.3) 100%);
	}
	.mp-hp-hero__content {
		padding: 0 20px;
		max-width: 100%;
		text-align: center;
	}
	.mp-hp-hero__title {
		font-size: 2rem;
		margin-bottom: 14px;
		line-height: 1.2;
		font-weight: 900;
		text-shadow: 
			0 4px 20px rgba(0,0,0,1),
			0 2px 12px rgba(0,0,0,1),
			0 1px 4px rgba(0,0,0,1);
		color: #fff;
	}
	.mp-hp-hero__subtitle {
		font-size: 1.1rem;
		margin-bottom: 28px;
		line-height: 1.5;
		font-weight: 500;
		text-shadow: 
			0 3px 16px rgba(0,0,0,1),
			0 2px 10px rgba(0,0,0,1);
		color: #fff;
	}
	.mp-hp-hero__badge {
		font-size: 10px;
		padding: 6px 14px;
		margin-bottom: 12px;
		box-shadow: 0 4px 12px rgba(0,0,0,0.5);
	}
	.mp-hp-btn {
		font-size: 15px !important;
		padding: 13px 28px !important;
		box-shadow: 0 4px 16px rgba(0,0,0,0.5) !important;
	}
	.mp-hp-hero__cards-inner { 
		flex-direction: column; 
	}
	.mp-hp-hero__card { 
		border-right: 0; 
		border-bottom: 1px solid #eaeaea;
		padding: 28px 26px;
		gap: 22px;
	}
	.mp-hp-hero__card:last-child {
		border-bottom: 0;
	}
	.mp-hp-hero__card-icon {
		width: 72px;
		height: 72px;
	}
	.mp-hp-hero__card-icon img {
		width: 40px;
		height: 40px;
	}
	.mp-hp-hero__card-text strong {
		font-size: 18px;
		font-weight: 900;
		display: block;
		margin-bottom: 4px;
	}
	.mp-hp-hero__card-text small {
		font-size: 15px;
		color: #666;
	}
	.mp-hp-hero__arrow { 
		width: 44px;
		height: 44px;
		background: rgba(255,255,255,0.3);
		border: 2px solid rgba(255,255,255,0.6);
		backdrop-filter: blur(4px);
		box-shadow: 0 4px 12px rgba(0,0,0,0.4);
	}
	.mp-hp-hero__arrow:hover {
		background: rgba(255,255,255,0.45);
		transform: translateY(-50%) scale(1.05);
	}
	.mp-hp-hero__arrow svg {
		width: 20px;
		height: 20px;
	}
	.mp-hp-hero__arrow--prev { left: 12px; }
	.mp-hp-hero__arrow--next { right: 12px; }
	.mp-hp-hero__dots { 
		bottom: 200px;
	}

	.mp-hp-filters__row { flex-direction: column; align-items: stretch; }
	.mp-hp-filters__field--sep { border-left: 0; border-top: 1px solid #e5e5e5; }
	.mp-hp-filters__btn-wrap { border-left: 0; border-top: 1px solid #e5e5e5; padding: 14px; text-align: center; }

	.mp-hp-welcome__cards { flex-direction: column; align-items: center; }
	.mp-hp-welcome__card { max-width: 100%; width: 100%; }

	.mp-hp-ressemble__inner { grid-template-columns: 1fr; gap: 28px; }
	.mp-hp-ressemble__slide-overlay {
		left: 12px;
		right: 12px;
		bottom: 12px;
		max-width: none;
	}
	.mp-hp-fc__inner { grid-template-columns: 1fr; gap: 30px; }
	/* Mobile: carousel mode (only on mobile) */
	.mp-hp-fc-carousel{
		margin-top: 22px;
		padding: 0;
	}
	.mp-hp-fc-carousel__dots{
		justify-content:flex-start;
		padding-left: 10px;
		margin-bottom: 10px;
		opacity: 0.95;
	}
	.mp-hp-fc-carousel__track{
		display: flex;
		gap: 14px;
		overflow: auto;
		padding: 0 64px 14px 10px;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		-webkit-overflow-scrolling: touch;
	}
	.mp-hp-fc-carousel__track::-webkit-scrollbar{ height: 8px; }
	.mp-hp-fc-carousel__track::-webkit-scrollbar-thumb{ background: rgba(0,0,0,0.18); border-radius: 999px; }
	.mp-hp-fc-carousel__card{
		flex: 0 0 260px;
		scroll-snap-align: start;
	}
	.mp-hp-fc-carousel__img{ height: 138px; }
	.mp-hp-fc-carousel__badge{ top: 138px; }
	.mp-hp-fc-carousel__label{ padding: 28px 14px 14px; }
	.mp-hp-fc-carousel__arrow{
		display: flex;
		position: absolute;
		top: calc(50% + 18px);
		transform: translateY(-50%);
		opacity: 0.98;
	}
	.mp-hp-fc-carousel__arrow--prev{ left: 10px; }
	.mp-hp-fc-carousel__arrow--next{ right: 10px; }
	.mp-hp-fc-carousel__arrow:active{ transform: translateY(-50%) scale(0.98); }
	.mp-hp-aussi__grid { grid-template-columns: 1fr; }
	.mp-hp-investir__grid { grid-template-columns: repeat(2, 1fr); }
	.mp-hp-saviez__inner { grid-template-columns: 1fr; }
	.mp-hp-conseils__layout {
		grid-template-columns: 1fr;
		gap: 36px;
	}
	.mp-hp-conseils__rack {
		grid-template-columns: 1fr;
	}
	.mp-hp-conseils__grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
	.mp-hp-hero { 
		height: 726px;
		min-height: 726px;
	}
	.mp-hp-hero__slide {
		align-items: flex-start;
		justify-content: center;
		padding-top: 80px;
	}
	.mp-hp-hero__overlay {
		background: linear-gradient(to bottom, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.55) 50%, rgba(0,0,0,0.35) 100%);
	}
	.mp-hp-hero__content {
		padding: 0 18px;
		text-align: center;
	}
	.mp-hp-hero__title { 
		font-size: 1.75rem;
		margin-bottom: 12px;
		line-height: 1.25;
		font-weight: 900;
		text-shadow: 
			0 5px 24px rgba(0,0,0,1),
			0 3px 14px rgba(0,0,0,1),
			0 2px 6px rgba(0,0,0,1);
		color: #fff;
	}
	.mp-hp-hero__subtitle {
		font-size: 1.05rem;
		margin-bottom: 24px;
		line-height: 1.45;
		font-weight: 500;
		text-shadow: 
			0 4px 18px rgba(0,0,0,1),
			0 2px 12px rgba(0,0,0,1);
		color: #fff;
	}
	.mp-hp-hero__badge {
		font-size: 9px;
		padding: 6px 12px;
		letter-spacing: 1px;
		box-shadow: 0 4px 14px rgba(0,0,0,0.6);
	}
	.mp-hp-btn {
		font-size: 14px !important;
		padding: 12px 24px !important;
		display: inline-block !important;
		box-shadow: 0 4px 18px rgba(0,0,0,0.6) !important;
	}
	.mp-hp-hero__card {
		padding: 24px 22px;
		gap: 18px;
	}
	.mp-hp-hero__card-icon {
		width: 64px;
		height: 64px;
	}
	.mp-hp-hero__card-icon img {
		width: 36px;
		height: 36px;
	}
	.mp-hp-hero__card-text strong {
		font-size: 17px;
		font-weight: 900;
		display: block;
		margin-bottom: 3px;
	}
	.mp-hp-hero__card-text small {
		font-size: 14px;
		color: #666;
	}
	.mp-hp-hero__arrow { 
		width: 40px;
		height: 40px;
		background: rgba(255,255,255,0.35);
		border: 2px solid rgba(255,255,255,0.7);
		backdrop-filter: blur(4px);
		box-shadow: 0 4px 14px rgba(0,0,0,0.5);
	}
	.mp-hp-hero__arrow:hover {
		background: rgba(255,255,255,0.5);
	}
	.mp-hp-hero__arrow svg {
		width: 18px;
		height: 18px;
	}
	.mp-hp-hero__arrow--prev { left: 8px; }
	.mp-hp-hero__arrow--next { right: 8px; }
	.mp-hp-hero__dots {
		bottom: 190px;
	}
	.mp-hp-stats__grid { flex-wrap: wrap; }
	.mp-hp-stats__item { flex: 0 0 50%; }
	.mp-hp-investir__grid { grid-template-columns: 1fr; }
	.mp-hp-saviez__stats { grid-template-columns: 1fr; }
	.mp-hp-conseils__mini-thumb {
		flex: 0 0 88px;
		width: 88px;
		height: 56px;
	}
	.mp-hp-conseils__mini {
		gap: 10px;
		padding: 12px 0;
	}
}

/* ─── Homepage scroll reveals (opacity + translate3d only; JS adds .mp-hp-reveal--inview) ─── */
@keyframes mp-hp-reveal-up {
	from {
		opacity: 0;
		transform: translate3d(0, 18px, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}
.mp-hp-reveal:not(.mp-hp-reveal--inview) {
	opacity: 0;
	transform: translate3d(0, 18px, 0);
}
.mp-hp-reveal--inview {
	animation: mp-hp-reveal-up 0.52s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@media (prefers-reduced-motion: reduce) {
	.mp-hp-reveal:not(.mp-hp-reveal--inview),
	.mp-hp-reveal--inview {
		opacity: 1 !important;
		transform: none !important;
		animation: none !important;
	}
}
