section#prestations-1 {
	display: flex;
	align-items: center;

	&::before {
		background-image: url('../images/couple-rooftop-360.webp');
		background-position: center;
	}

	& div.titre {
		margin-top: 3rem;
	}
}

section#prestations-2 {
	padding: 2rem 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--background);

	& h1 {
		font-size: 20px;
		line-height: 30px;
		margin: 6px 0;
	}
}

section#prestations-3 {
	background: var(--background);
	padding: 0;

	& > div {
		display: flex;
		flex-direction: column;
		margin: 0 auto;
		padding: 32px 20px;
		max-width: 640px;

		& > div {
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
		}
	}

	& img {
        height: min(60vw, 320px);
        width: min(100%, 466px);
        object-fit: cover;
        object-position: 50% 75%;
        border-radius: 4px;
        margin-inline: auto;
        margin-bottom: 28px;
	}
}

section#prestations-4 {
	background-image: url('../images/couple-bateau-2-720.webp');
	background-repeat: no-repeat;
	background-size: contain;
	padding: 1rem;
	display: flex;
	align-items: center;

	& > div {
		margin: 30vw auto 0 auto;
		max-width: 540px;
	}
	
}

section#prestations-5 {
	background: var(--wyg-blue-alt-05);
	padding: 2rem 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	& > div {
		width: min(100%, 540px);
	}

	& > div:has(img) {
		height: min(100%, 540px);
		margin-bottom: 2rem;

		& img {
			border-radius: 4px;

			&:nth-child(1) {
				width: 75%;
				margin-top: 0;
				float: right;
			}

			&:nth-child(2) {
				width: 60%;
				float: left;
				margin-top: -35%;
				margin-bottom: 0;
			}
		}
	}
}

section#prestations-6 {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0 0 2rem 0;

	& > h2 {
		text-align: center;
		text-decoration: none;
		border-bottom: solid 4px var(--wyg-blue-alt);
		padding-bottom: 8px;
		margin: 2rem 20px 20px 20px;
	}

	& > p {
		margin: 0 20px 12px 20px;
		max-width: 456px;
	}
}

div.etape {
	margin: 10px 0;
	padding: 24px 20px 20px 20px;
	display: flex;
	flex-direction: column;
	align-items: center;

	& img {
		height: 56px;
	}

	& div:has(> h3) {
		display: flex;
		flex-direction: row;
		align-items: baseline;
	}

	& span {
		font: normal normal bold 36px/42px "Playfair Display";
		color: var(--wyg-blue-alt);
		margin-right: 12px;
	}

	& h3 {
		display: inline-block;
		text-decoration: underline;
		text-decoration-color: var(--wyg-blue-alt);
		text-decoration-thickness: 4px;
		text-underline-offset: .3em;
		margin: 16px 0;
		line-height: 36px;
	}
}

section#prestations-7 {
	background-color: white;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 28px 20px 12px 20px;

	& img {
		width: min(100%, 460px);
		margin-bottom: 24px;
		border-radius: 4px;
	}

	& h2 {
		margin-bottom: 20px;
	}

	& ul {
		max-width: 600px;
	}

	& li {
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-bottom: 16px;

		&::before {
			content: '';
			display: block;
			background-image: url(../images/icons/icon-coquillage.svg);
			background-repeat: no-repeat;
			background-position: center;
			background-size: contain;
			height: 48px;
			width: 48px;
			min-width: 48px;
			margin-inline: auto;
			margin-bottom: 8px;
		}
	}
}

section#prestations-8 {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 2rem 0;

	& span {
		display: block;
		color: var(--wyg-blue-alt);
		opacity: 0.5;
		text-transform: uppercase;
		white-space: nowrap;
		font: normal normal bold 36px/48px Playfair Display;
		text-align: center;
	}

	& h2 {
		font-size: 28px;
		line-height: 32px;
		margin-bottom: 14px;
	}

	& h3 {
		font-size: 24px;
		line-height: 36px;
		letter-spacing: 0.12px;
		text-align: center;
		border-bottom: solid 4px var(--wyg-blue-alt);
		padding-bottom: 4px;
		margin-bottom: 20px;
		max-width: 250px;
	}

	& > div {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	& > p {
		margin: 2rem 20px 0 20px;
	}

	& div.content {
		display: flex;
		flex-direction: column;
		align-items: center;
		margin: 10px 20px;
		padding: 2rem 1rem;
		max-width: 300px;

		& a > img {
			height: 80px;
			width: 80px;
		}

		& a > p {
			margin-bottom: 20px;
			max-width: 260px;
		}

		& a > div {
			background-color: var(--content-background);
			padding: 1rem 2rem;
			border-radius: 4px;

			& p {
				text-align: center;
				margin-bottom: 0;
			}

			& p.price {
				font: normal normal bold 36px/42px Playfair Display;
				color: var(--wyg-blue);
			}
		}
	}
}

@media only screen and (min-width: 360px) {

	section#prestations-1::before {
		background-image: url('../images/couple-rooftop-720.webp');
	}
}

@media only screen and (min-width: 480px) {

	section#prestations-3 {
		padding: 6px 1rem 1rem 1rem;
	}

	section#prestations-6 > h2 {
		margin-inline: 3em;
	}

	div.etape {
		margin: 12px;
	}

	section#prestations-8 div.content {
		padding-inline: 3rem;
	}
}

@media only screen and (min-width: 640px) {

	div.etape span {
		font-size: 48px;
		margin-right: 16px;
	}

	section#prestations-2 h1 {
		font-size: 24px;
		line-height: 36px;
	}

	section#prestations-7 li {
		flex-direction: row;

		&::before {
			margin-inline: 0 12px;
			margin-bottom: 0;
		}
	}

	section#prestations-8 {

		& span {
			font-size: 48px;
			line-height: 72px;
			letter-spacing: 0.72px;
		}

		& h2 {
			font-size: 32px;
			line-height: 40px;
			letter-spacing: 0.48px;
		}
	}
}

@media only screen and (min-width: 720px) {

	section#prestations-1 {
		height: 100dvh;
	}

	section#prestations-1 div.titre {
		margin-top: 10rem;
	}

	section#prestations-1::before {
		background-image: url('../images/couple-rooftop-1440.webp');
	}

	section#prestations-3 > div {
		padding: 56px 64px;
	}

	section#prestations-4 {
		background-image: url('../images/couple-bateau-2-1440.webp');
	}

	section#prestations-4 > div {
		padding: 4rem;
	}

	section#prestations-6 {
		padding: 24px 24px 2rem 24px;
	}

	div.etape {
		padding: 24px 60px;

		& img {
			height: 72px;
		}
	}

	section#prestations-8 {

		& span {
			font-size: 72px;
			line-height: 108px;
			letter-spacing: 1px;
		}

		& h2 {
			font-size: 40px;
			line-height: 48px;
			letter-spacing: 0.6px;
		}
	}
}

@media only screen and (min-width: 1024px) {

	section#prestations-2 h1 {
		font-size: 28px;
	}

	section#prestations-3 {

		& > div {
			flex-direction: row;
			max-width: 1024px;
			max-height: 616px;

			& > div {
				align-items: flex-start;
				max-width: 460px;
			}
		}

		& h2 {
			max-width: 340px;
		}

		& img {
			height: 504px;
			width: 428px;
			margin-bottom: unset;
			margin-right: 80px;
		}
	}

	section#prestations-4 {
		background-image: url('../images/couple-bateau-2-2880.webp');
		background-position: right top;
		background-size: cover;
		min-height: 35vw;

		& > div {
			margin: 0 30rem 0 10vw;
			opacity: 0;
			transition: opacity .3s ease-in, transform .6s ease-out;
		}

		& h2 {
			opacity: 0;
			transition: opacity .6s ease-in;
			max-width: 380px;
		}

		& p {
			opacity: 0;
			transition: opacity .6s .3s ease-in;
		}
	}

	section#prestations-5 {
		flex-direction: row-reverse;
		padding: 4rem;

		& > div {
			width: min(100%, 600px);
		}

		& > div:has(img) {
			margin-bottom: 0;
			margin-left: 4rem;
		}
	}

	div.etape {
		flex-direction: row;
		
		padding: 32px 80px 40px 0;
		max-width: 920px;

		& img {
			height: 80px;
			margin: 0 60px;
		}
	}

	section#prestations-7 {
		flex-direction: row;
		justify-content: center;
		padding: 64px 32px;

		& h2 {
			max-width: 420px;
			margin-bottom: 2rem;
			opacity: 0;
			transition: opacity .3s .05s ease-out, transform .3s .05s ease-out;
		}

		& img {
			margin-bottom: 0;
			margin-right: 40px;
			opacity: 0;
			transition: opacity .3s ease-out;
		}

		& li {
			margin-bottom: 20px;
			opacity: 0;
			transition: opacity .3s .1s ease-out, transform .3s .1s ease-out;

				&::before {
				margin-inline: 0 16px;
			}

			&:nth-child(2) {
				transition-delay: .15s;
			}
			&:nth-child(3) {
				transition-delay: .2s;
			}
			&:nth-child(4) {
				transition-delay: .25s;
			}
			&:nth-child(5) {
				transition-delay: .3s;
			}

		}
	}

	section#prestations-8 {
		padding: 46px 0;

		& span {
			font-size: 100px;
			line-height: 140px;
			letter-spacing: 1.5px;
		}

		& h2 {
			font-size: 48px;
			line-height: 64px;
			letter-spacing: 0.72px;
			margin-bottom: 30px;
		}
	}
}

@media only screen and (min-width: 720px) and ((min-height: 644px) or (min-width: 1440px)) {

	section#prestations-1::before {
		background-image: url('../images/couple-rooftop-2880.webp');
	}
}

@media only screen and (min-width: 720px) and ((min-height: 744px) or (min-width: 1440px)) {

	section#prestations-4 {
		background-image: url('../images/couple-bateau-2-2880.webp');
	}
}

@media only screen and (min-width: 1440px) {

	section#prestations-7 img {
		margin-right: 80px;
	}
}