/* ---------------------------------- */
/* PAGE BOUTIQUE                      */
/* ---------------------------------- */

.boutique {
	display: flex;
	flex-direction: column;
	padding: 0 15px;
}

.infos-boutique {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	/*background-color: #202a4f;*/
	border-radius: 3px;
	box-shadow: 0 0 2px black;
	margin-bottom: 20px;
	padding: 10px;
	color: white;
	font-size: 0.9em;
}

.infos-boutique img {
	width: 35px;
}

.panier {
	width: 35px;
	height: 35px;
}

.produits {
	display: flex;
	flex-wrap: wrap;
}

.produit {
	flex: 20%;
	max-width: 20%;
	margin-bottom: 20px;
	padding: 0 8px;
	cursor: pointer;
}

.photo-produit {
	width: 100%;
	background-color: #fff;
	border-radius: 3px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
	text-align: center;
	vertical-align: middle;

	position: relative;
	overflow: hidden;
}

.photo-produit img {
	max-width: 100%;
	max-height: 221px;
	margin: 10px 0;
	border-radius: 3px;
	object-fit: cover;
	-webkit-filter: drop-shadow(1px 1px 1px #222);
  	filter: drop-shadow(1px 1px 1px #222);
}

.prix-produit {
	display: flex;
	justify-content: space-between;
	width: 100%;
	height: 30px;
	max-height: 30px;
	color: white;
}

.prix-produit > div:first-child {
	width: 72%;
	font-size: 0.8em;
	text-align: left;
	padding: 7px 0 5px 10px;
	background-color: #202a4f;
	border-radius: 0 0 0 3px;
}

.prix-produit > div:last-child {
	width: 28%;
	text-align: center;
	font-weight: bold;
	background-color: #ee7526;
	padding: 5px 0;
	border-radius: 0 0 3px 0;
}

/* Badge "Personnalisation possible" */
.badge-perso {
	position: absolute;
	bottom: 60px;
	left: 0;
	background-color: rgba(238, 117, 38, 0.9); /* ton orange avec transparence */
	color: white;
	/*font-weight: bold;*/
	font-size: 0.9em;
	padding: 5px 10px;
	border-top-right-radius: 6px;
	border-bottom-right-radius: 6px;
	box-shadow: 0 2px 6px rgba(0,0,0,0.3);
	/*text-transform: uppercase;*/
	z-index: 2;
}


.modal-produit {
	display: flex;
	align-items: center;
	padding: 20px;
}

.modal-produit img {
	height: 350px;
	background-color: rgba(255, 255, 255, 1);
	border-radius: 4px;
}

.modal-infos {
	display: flex;
	flex-direction: column;
	padding: 0 20px;
	margin-bottom: 15px;
	font-size: 0.8em;
}

.modal-infos p {
	margin-bottom: 10px;
}

.modal-infos .prix {
	color: #ee7526;
	font-size: 0.9em;
	margin-bottom: 10px;
}

.modal-infos span {
	/*margin-bottom: 15px;*/
	margin-right: 10px;
	color: #ee7526;
	font-size: 2em;
	font-weight: bold;
}

label {
	display: block;
  margin-bottom: 6px;
  font-size: 0.9em;
  font-weight: bold;
}

form {
	margin-bottom: 10px;
}

form a {
	color: #666;
	font-size: 0.8em;
}

select {
  width: 250px;
  padding: 5px;
  border: 1px solid #ccc;
  border-radius: 5px;
  background-color: #fff;
  font-size: 16px;
  color: #333;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg fill='none' stroke='%230077cc' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  padding-right: 40px; /* laisse de la place pour la flèche */
  margin-bottom: 10px;
}

/* au survol */
select:hover {
  border-color: #0077cc;
}

/* au focus (quand on clique dessus) */
select:focus {
  outline: none;
  border-color: #0077cc;
  box-shadow: 0 0 5px rgba(0,119,204,0.4);
}

input[type="number"] {
  width: 250px;
  padding: 5px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 16px;
  text-align: center;
  color: #333;
  background-color: #fff;
  transition: border-color 0.3s;
  margin-bottom: 10px;
}

/* focus */
input[type="number"]:focus {
  outline: none;
  border-color: #ee7526; /* même couleur que ton bouton */
  box-shadow: 0 0 3px rgba(238,117,38,0.4);
}

/* survol */
input[type="number"]:hover {
  border-color: #d15b0f;
}

/* pour cacher les petites flèches ↑↓ sur Chrome si tu veux un look épuré */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="text"] {
  width: 250px;
  padding: 5px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 16px;
  color: #333;
  background-color: #fff;
  transition: border-color 0.3s, box-shadow 0.3s;
  margin-bottom: 10px;
}

/* focus */
input[type="text"]:focus {
  outline: none;
  border-color: #ee7526;
  box-shadow: 0 0 3px rgba(238,117,38,0.4);
}

/* survol */
input[type="text"]:hover {
  border-color: #d15b0f;
}


.modal-infos button {
	width: 100%;
  padding: 8px;
  margin-top: 6px;
  border: none;
  border-radius: 4px;
  background-color: #ee7526;
  color: #fff;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s;
}

.modal-infos button:hover {
  background-color: #d15b0f;
}


.modal-bouton {
	display: flex;
	justify-content: center;
}

.md-close {
	width: 100px;
	background-color: #1160ac;
	color: #fff;
	padding: 5px 15px;
	border-radius: 4px;
	margin-bottom: 15px;
	font-size: 16px;
}

.md-close:hover {
	background-color: #202a4f;
}


/* ---------------------------------- */
/* RESPONSIVE                         */
/* ---------------------------------- */

@media screen and (max-width: 1200px) {
  .produit {
    flex: 25%;
    max-width: 25%;
  }
}

@media screen and (max-width: 992px) {
  .produit {
    flex: 33%;
    max-width: 33%;
  }
}

@media screen and (max-width: 768px) {
  .produit {
    flex: 50%;
    max-width: 50%;
  }
}

@media screen and (max-width: 576px) {
  .produit {
    flex: 100%;
    max-width: 100%;
  }

  .modal-produit {
	  flex-direction: column;
	}
}