/**
 * Mahina Moments — cartes portfolio SPF = look anciennes cartes Elementor.
 * Cible : page Portfolio (#2742) widget spf-portfolio-collection.
 */

.elementor-2742 .spf-portfolio {
	--gap: 2em;
}

.elementor-2742 .spf-portfolio.layout-grid .spf-grid {
	align-items: start;
}

/* Grille — desktop >768 : 3 cols | tablette 425–768 : 2 cols | mobile <425 : 1 col */
@media (min-width: 769px) {
	.elementor-2742 .spf-portfolio.layout-grid .spf-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 425px) and (max-width: 768px) {
	.elementor-2742 .spf-portfolio.layout-grid .spf-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 424px) {
	.elementor-2742 .spf-portfolio.layout-grid .spf-grid {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}
}

.elementor-2742 .spf-card {
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: visible !important;
	text-align: center;
}

.elementor-2742 .spf-card .spf-media,
.elementor-2742 .spf-card .spf-media.ratio-1-1,
.elementor-2742 .spf-card .spf-media.ratio-4-3,
.elementor-2742 .spf-card .spf-media.ratio-3-2,
.elementor-2742 .spf-card .spf-media.ratio-16-9 {
	border-radius: 0 !important;
	aspect-ratio: auto !important;
	min-height: 450px;
	height: 450px;
	background-size: cover !important;
	background-position: bottom center !important;
	transition: transform 0.35s ease;
	transform: scale(1.02);
	transform-origin: center center;
}

.elementor-2742 .spf-card:hover .spf-media,
.elementor-2742 .spf-card:focus-within .spf-media {
	transform: scale(1.05) translateY(-5px);
}

.elementor-2742 .spf-body {
	padding: 1.4em 0.5em 0 !important;
	text-align: center;
}

.elementor-2742 .spf-title {
	margin: 0 !important;
	font-family: "buchaner_vagancy", serif !important;
	font-size: clamp(2.4rem, 3.6vw, 3.4rem) !important;
	font-weight: 300 !important;
	line-height: 1.15 !important;
	color: #5582a2 !important;
}

.elementor-2742 .spf-title a,
.elementor-2742 .spf-card-link-title {
	color: inherit !important;
	text-decoration: none !important;
	font: inherit !important;
}

.elementor-2742 .spf-meta {
	display: block !important;
	margin: 0 !important;
	opacity: 1 !important;
	font-family: "Poppins", sans-serif !important;
	font-size: 0.9em !important;
	font-weight: 300 !important;
	letter-spacing: -0.1px !important;
	line-height: 31px !important;
	color: #1d28349e !important;
	justify-content: center !important;
	gap: 0 !important;
}

.elementor-2742 .spf-meta-line,
.elementor-2742 .spf-meta-line-content,
.elementor-2742 .spf-meta-item {
	display: block !important;
	width: 100%;
	text-align: center;
}

.elementor-2742 .spf-meta-line-label,
.elementor-2742 .spf-meta strong {
	display: none !important;
}

.elementor-2742 .spf-meta-line-value,
.elementor-2742 .spf-meta-item {
	color: inherit !important;
	font: inherit !important;
}

.elementor-2742 .spf-button-wrap {
	display: none !important;
}

/* Cadrage portrait — têtes visibles (évite bottom center global) */
.elementor-2742 .spf-card-link[href*="lea-et-yael"] .spf-media,
.elementor-2742 .spf-card-link[href$="olivia-et-hugo/"] .spf-media {
	background-position: top center !important;
}

@media (min-width: 425px) and (max-width: 768px) {
	.elementor-2742 .spf-portfolio {
		--gap: 3em;
	}

	.elementor-2742 .spf-card .spf-media {
		min-height: 420px;
		height: 420px;
	}

	.elementor-2742 .spf-title {
		font-size: clamp(2.2rem, 4vw, 2.8rem) !important;
	}
}

@media (max-width: 424px) {
	.elementor-2742 .spf-portfolio {
		--gap: 2.5em;
	}

	/* Même hauteur que les cartes mariages #mariages sur l'accueil (450px) */
	.elementor-2742 .spf-card .spf-media,
	.elementor-2742 .spf-card .spf-media.ratio-1-1,
	.elementor-2742 .spf-card .spf-media.ratio-4-3,
	.elementor-2742 .spf-card .spf-media.ratio-3-2,
	.elementor-2742 .spf-card .spf-media.ratio-16-9 {
		min-height: 450px !important;
		height: 450px !important;
		transform: none;
	}

	.elementor-2742 .spf-card:hover .spf-media,
	.elementor-2742 .spf-card:focus-within .spf-media {
		transform: none;
	}

	.elementor-2742 .spf-title {
		font-size: 2.4rem !important;
	}

	.elementor-2742 .spf-body {
		padding-top: 1em !important;
	}
}
