:root {
	--color-primary-white: rgb(240, 240, 240);
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
body {
	min-height: 1000px; /* pour permettre le scroll */
}

/* -- HEADER -- */
header {
	height: 500px;
}
nav {
	display: block;
	position: fixed;
	top: 0;
	width: 100%;
	padding: 20px;
	background: transparent;
	z-index: 1000;
	transition: all 0.3s ease;
}
nav.scrolled {
	background: rgba(0, 0, 0, 0.9);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
	padding: 10px 20px;
}
nav.scrolled .list img {
	top: 12px;
}
nav.scrolled .logoList {
	width: 50px;
	height: 50px;
	margin: auto;
}
.list {
	list-style: none;
	padding: 1rem 0;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.item {
	text-decoration: none;
	z-index: 3;
	color: white;
	font-size: 20px;
	margin-right: 2rem;
	cursor: pointer;
	font-family: 'Montserrat-Regular', sans-serif;
}
.item a {
	text-decoration: none;
	color: white;
}
.a {
	position: relative;
	display: inline-block;
	text-decoration: none;
	color: white;
}
.a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px; /* Épaisseur de la ligne */
	background-color: currentColor;
	transform: scaleX(0);
	transform-origin: bottom right;
	transition: transform 0.3s ease-out;
	color: var(--color-primary-white);
}
.a:hover::after {
	transform: scaleX(1);
	transform-origin: bottom left;
}
.list img {
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 2;
	width: 100px;
	height: 100px;
	transition: width 0.3s ease, height 0.3s ease;
}
/* -- IMAGE BACK HEADER : -- */
.img_back {
	position: absolute;
	object-fit: cover;
	left: 0;
	top: 0;
	width: 100%;
	height: 500px;
	z-index: 1;
}
.text {
	z-index: 2;
	position: absolute;
	margin: 0;
	top: 20%;
	color: white;
	font-weight: lighter;
	font-family: 'Montserrat-Medium', sans-serif;
	transition: font-size 0.5s ease;
}

.title {
	font-size: 90px;
	font-weight: lighter;
	margin: 0;
}

.text h2 {
	margin: 0;
	font-weight: lighter;
	font-size: 45px;
}

/* -- MENU BURGER -- */

.burger {
	display: none;
	font-size: 30px;
	cursor: pointer;
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 3;
	color: white;
}
.imgBurger {
	position: absolute;
	display: none;
	top: 20px;
	left: 20px;
	z-index: 2;
	height: 75px;
	width: 75px;
	transition: width 0.3s ease, height 0.3s ease;
}

/* -- MEDIA QUERIES HEADER -- */

@media screen and (max-width: 1024px) {
	.card {
		width: calc(50% - 20px); /* 2 cartes par ligne sur tablette */
	}
	.text {
		top: 25%;
	}
	.title {
		font-size: 70px;
	}
	.text h2 {
		font-size: 25px;
	}
}
@media (max-width: 768px) {
	header {
		height: 250px;
	}
	.img_back {
		height: 250px;
	}
	.text {
		top: 15%;
	}
	.text h1 {
		font-size: 50px;
	}
	.text h2 {
		font-size: 15px;
	}
	.burger {
		display: block;
	}
	.list {
		z-index: 3;
		display: none;
		color: black;
		flex-direction: column;
		background-color: black !important;
		position: absolute;
		top: 50px;
		right: 20px;
		padding: 10px;
		border-radius: 5px;
	}

	.list.active {
		display: flex;
		align-items: center;
		justify-content: center;
		background: black !important;
	}
	.list.active img {
		height: 50px;
		width: 50px;
	}
	.item {
		margin: 20px;
	}
	.list.active ul {
		background: black !important;
	}
	nav.scrolled .a {
		color: white;
	}
	nav.scrolled {
		height: 75px;
	}
	.imgBurger {
		display: block;
	}
	.imgBurger.active {
		display: block;
		top: 12px;
		height: 50px;
		width: 50px;
	}
	.logoList {
		display: none;
	}
	.a {
		position: relative;
		display: inline-block;
		text-decoration: none;
		color: #ffffff;
	}
	.a::after {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 2px; /* Épaisseur de la ligne */
		background-color: currentColor;
		transform: scaleX(0);
		transform-origin: bottom right;
		transition: transform 0.3s ease-out;
	}
	.a:hover::after {
		transform: scaleX(1);
		transform-origin: bottom left;
	}

	/* --- IMG BACK HEADER --- */
	.title {
		top: 0;
	}
}
/* -- MAIN -- */
main {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 20px;
	font-family: 'Roboto', sans-serif;
}

/* --- INDEX --- */
.title_main h1 {
	font-family: 'Montserrat', sans-serif;
	font-size: 40px;
	font-weight: 500;
	/* text-decoration: underline; */
	/* margin: 10px; */
}

.about {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	flex-wrap: wrap; /* pour mobile */
}

.about img {
	width: 100%;
	max-width: 600px;
	height: auto;
	object-fit: cover;
	transition: none; /* pas d’animation ici */
}

.aboutText {
	flex: 1 1 50%;
	padding: 20px;
	box-sizing: border-box;
	transition: all 0.3s ease;
}

.titleDesc {
	font-size: clamp(1.5rem, 2.5vw + 1rem, 3rem);
	transition: font-size 0.3s ease;
	font-family: 'Montserrat', sans-serif;
}

.desc {
	font-size: clamp(1rem, 1.2vw + 0.5rem, 1.5rem);
	transition: font-size 0.3s ease;
	/* line-height: 1.6; */
}
.underTitle {
	margin-bottom: 0.5rem;
	font-size: 1.9rem;
	font-family: 'Montserrat-SemiBold';
}
/* .desc {
	font-size: 1.2rem;
} */

@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 768px) {
	/* .about {
		display: flex;
		flex-direction: column;
	} */
	.titleDesc {
		font-size: 20px;
	}
}
@media screen and (max-width: 1300px) {
	.card1 {
		flex-direction: column;
		margin: auto;
		width: 95%;
		gap: 20px;
	}
	.textCard1 h2 {
		text-align: center;
	}
	.card1 img,
	.card2 img {
		margin: auto;
	}
}
@media screen and (max-width: 1024px) {
	.about {
		flex-direction: column;
		align-items: center;
		width: 95%;
		gap: 20px;
	}

	.about img {
		width: 100%;
		max-width: 600px;
	}

	.aboutText {
		width: 100%;
		padding: 10px;
		text-align: center;
	}

	.titleDesc {
		font-size: 2.2rem;
	}

	.desc {
		font-size: 1.1rem;
	}
}

@media screen and (max-width: 768px) {
	.titleDesc {
		font-size: 1.8rem;
	}
	.desc {
		font-size: 1rem;
	}
}

.button-28,
.button-2,
.btnCon {
	appearance: none;
	background-color: transparent;
	border: 2px solid #1a1a1a;
	box-sizing: border-box;
	color: #3b3b3b;
	cursor: pointer;
	display: inline-block;
	font-family: Roobert, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
	font-size: 16px;
	font-weight: 600;
	right: 0;
	min-height: 30px;
	min-width: 150px;
	outline: none;
	padding: 16px 24px;
	margin-top: auto;
	text-align: center;
	text-decoration: none;
	transition: all 300ms cubic-bezier(0.23, 1, 0.32, 1);
	user-select: none;
	-webkit-user-select: none;
	touch-action: manipulation;
	width: 30%;
	will-change: transform;
}

.about .btnCon {
	align-self: flex-start;
	margin-top: 50px;
	width: 30%;
}

.button-2,
.btnCon {
	align-self: center;
	width: 12%;
}

.btnCon:disabled,
.button-28:disabled,
.button-2:disabled {
	pointer-events: none;
}

.button-28:hover,
.btnCon:hover,
.button-2:hover {
	color: #fff;
	background-color: #1a1a1a;
	box-shadow: rgba(0, 0, 0, 0.25) 0 8px 15px;
	transform: translateY(-2px);
}

.button-28:active,
.button-2:active .btnCon:active {
	box-shadow: none;
	transform: translateY(0);
}

/* --- LIVRAISON --- */
.delivery h2 {
	font-family: 'Montserrat', sans-serif;
}
.titleDel h2 {
	font-weight: 400;
	font-style: normal;
	font-size: 32px;
	margin: 20px auto;
}
.deliveryZ {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: flex-start;
}
.deliveryZ h3 {
	font-family: 'Montserrat', sans-serif;
}

.infos ul {
	display: flex;
	flex-wrap: wrap;
	list-style-type: none;
	padding: 0;
}

.infos ul li {
	margin-right: 15px;
	margin-bottom: 5px;
	font-family: 'Roboto', sans-serif;
}

.carte {
	max-width: 50vw;
	margin-right: 20px;
}

.infos {
	max-width: 600px;
	height: 100%;
}
.infos ul {
	text-align: center;
}
.infos h3 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 25px;
	margin: 10px 0;
}
.infos p {
	font-size: 16px;
	font-family: 'Roboto', sans-serif;
}
.infos #btnCon {
	margin: 15px auto;
}
/* --- CONTACT --- */
.contact {
	margin-top: 1rem;
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.contact iframe {
	width: 100%;
	height: 100%;
}

.info {
	color: white;
	display: grid;
	grid-template-columns: 40% 60%;
	width: 100%;
	height: 20rem;
	background-image: url('../image/fond2.jpg'); /* Remplace par le bon chemin */
	background-size: cover; /* Ajuste l'image pour couvrir toute la div */
	background-position: center; /* Centre l'image */
	background-repeat: no-repeat; /* Empêche la répétition de l'image */
	color: white;
}

.infoCon {
	display: flex;
	flex-direction: column;
	margin: auto 0;
}

.infoCon span {
	display: flex;
	flex-direction: row;
	align-items: center;
	color: white;
	font-size: 1.2rem;
	margin: 10px 0;
	font-family: 'Montserrat', sans-serif;
}

.infoCon img {
	height: 30px;
	width: 30px;
	margin-right: 2%;
}
.infoCon p {
	font-size: 20px;
}

#logoInfo {
	margin: auto;
	width: 150px;
	height: 200px;
}

.contact2 {
	margin: 50px 0;
	display: flex;
	flex-direction: column;
}

.contact2 p {
	margin: 20px auto;
	font-size: 2rem;
	width: 70%;
	text-align: center;
}
/* --- FOOTER --- */
footer {
	width: 100%;
	min-height: 100px;
	background: #111;
	color: white;
	font-family: 'Roboto', sans-serif;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
footer .l1 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
	text-align: center;
}
footer .l1 a {
	color: white;
	text-decoration: none;
	font-size: 1rem;
	transition: color 0.3s ease;
}
footer .l1 a:hover {
	color: #ff432b;
}
footer .l2 span,
footer .ligne3 span {
	display: flex;
	margin: 0;
	flex-wrap: wrap;
	justify-content: center;
	font-size: 0.95rem;
	color: #ccc;
	text-align: center;
}
footer .l2 p,
footer .ligne3 p {
	margin: 0;
	padding: 0 5px;
	white-space: nowrap;
}
/* Bas du footer */
footer .l4 p {
	font-size: 0.9rem;
	color: #777;
	margin: 0;
}
@media screen and (max-width: 768px) {
	.infoCon span {
		justify-content: center;
	}
	footer .l1 {
		gap: 10px;
	}

	footer .l1 a {
		font-size: 1rem;
	}

	footer .l2 p,
	footer .ligne3 p {
		font-size: 0.95rem;
	}
}
/* -- A PROPOS -- */
.card1,
.card2 {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	flex-wrap: wrap; /* pour mobile */
}
.card2 {
	flex-direction: row-reverse;
}
.card1 img,
.card2 img {
	width: 100%;
	max-width: 600px;
	height: auto;
	object-fit: cover;
	transition: none; /* pas d’animation ici */
}
.textCard1 {
	flex: 1 1 50%;
	padding: 20px;
	box-sizing: border-box;
	transition: all 0.3s ease;
}
.textCard1 h2 {
	font-family: 'Montserrat', sans-serif;
	font-size: clamp(1.8rem, 2rem, 3rem);
	transition: font-size 0.3s ease;
	font-weight: 400;
	width: 100%;
	margin-bottom: 2rem;
	margin: 0;
}
.textCard1 p {
	font-family: 'Roboto', sans-serif;
	font-weight: 200;
	font-size: clamp(1rem, 1.2vw + 0.5rem, 1.5rem);
	transition: font-size 0.3s ease;
	margin: auto 10px;
	text-align: center;
}
.gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	width: 100%;
	margin-top: 1rem;
}
.gallery img {
	width: 100%;
	height: 50vh;
	object-fit: cover;
	border-radius: 8px;
}
.bottom-row {
	grid-column: span 3;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
}
.bottom-row img {
	width: 30%;
}
/* Style de la pop-up (modal) */
.modal {
	display: none; /* Masqué par défaut */
	position: fixed;
	z-index: 9999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0, 0, 0, 0.8); /* Fond semi-transparent */
}
.modal-content {
	margin: auto;
	display: block;
	max-width: 80%;
	max-height: 80%;
	margin-top: 5%;
}
.modal-close {
	position: absolute;
	top: 15px;
	right: 35px;
	color: #fff;
	font-size: 40px;
	font-weight: bold;
	cursor: pointer;
}
.maps {
	margin: 100px auto;
}
.maps img {
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 1024px) {
	.infoCon span {
		justify-content: center;
	}
}
@media screen and (max-width: 768px) {
	.card1,
	.card2 {
		display: flex;
		flex-direction: column;
		width: 100%;
		margin-bottom: 2rem;
	}
	.card1 img,
	.card2 img {
		margin: auto;
		width: 90vw;
		height: 50vh;
	}
	.gallery img {
		width: 100%;
		height: 150px;
	}
	.maps iframe {
		width: 90vw;
		height: 50vh;
	}
}
/* CONTACT*/
.contactForm {
	width: 100%;
}
.contactForm p {
	text-align: center;
	font-size: 32px;
	margin-bottom: 20px;
}
.contactForm form {
	display: flex;
	flex-direction: column;
	margin: 5px auto;
	width: 60%;
}
.contactForm form input {
	border: solid 2px black;
	align-self: center;
	margin: 5px auto;
	width: 100%;
	height: 3rem;
}
.contactForm form textarea {
	border: solid 2px black;
	align-self: center;
	margin: 5px auto;
	width: 100%;
	height: 13rem;
}
.contactForm form input::placeholder,
.contactForm form textarea::placeholder {
	font-size: 1rem;
	color: black;
	font-family: 'Montserrat-Light', sans-serif;
}
.popup {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: white;
	padding: 50px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
	border-radius: 10px;
	z-index: 1000;
}
.popup-content {
	text-align: center;
}
.popup-close {
	cursor: pointer;
	font-size: 20px;
	position: absolute;
	top: 10px;
	right: 20px;
}
.popup-image {
	width: 36px;
	height: 36px;
	margin: 20px auto;
	display: block;
	border-radius: 10px;
}
.popup-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 999;
	display: none;
}
/* RESPONSIVE */
@media screen and (max-width: 1600px) {
	.about img {
		margin: auto;
	}
}
@media screen and (max-width: 1359px) {
	.deliveryZ {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.carte {
		max-width: 90vw;
		margin: auto;
	}
	.infos {
		max-width: 90vw;
		display: flex;
		flex-direction: row;
	}
	.zone ul {
		text-align: center;
	}
	.infos ul {
		justify-content: center;
	}
}
@media screen and (max-width: 1024px) {
	.button-28,
	.button-2,
	.btnCon {
		min-width: 150px;
	}
	.btnCon {
		margin: 15px auto;
	}
	.contact {
		grid-template-columns: 1fr;
	}
	.infos {
		max-width: 90vw;
		display: flex;
		flex-direction: column;
	}
	.info {
		grid-template-columns: 1fr;
		height: auto;
		text-align: center;
	}
	iframe {
		min-height: 250px;
	}
}

@media screen and (max-width: 768px) {
	.cdn.btnCon {
		align-items: center;
	}
	.title_main {
		font-size: 20px;
		margin: auto;
	}
	.card {
		width: calc(100% - 20px); /* 1 carte par ligne sur mobile */
	}
	.text h1 {
		font-size: 34px;
	}
	.text h3 {
		font-size: 24px;
	}
	.about {
		flex-direction: column;
		width: 100%;
	}

	.about img {
		width: 100%;
		height: auto;
	}

	.aboutText {
		padding-left: 0;
		width: 100%;
		text-align: center;
	}

	.titleDel h2 {
		font-size: 24px;
	}
	.carte {
		max-width: 90vw;
		margin: auto;
	}
	.cdn {
		display: flex;
		flex-direction: column;
	}
	.contact {
		grid-template-columns: 1fr;
	}
	.contactForm form {
		width: 100%;
	}
	.co .info {
		grid-template-columns: 1fr;
		height: auto;
		text-align: center;
	}

	.contact2 p {
		font-size: 1.5rem;
		width: 100%;
	}
	.infoCon span {
		margin: 5px;
	}
	.infoCon p {
		font-size: 16px;
		justify-content: center;
		margin: 0;
	}

	footer {
		height: auto;
		text-align: center;
	}
}
@media screen and (max-width: 600px) {
	.modal-content {
		margin-top: 50%;
	}
}
