#dp_product {
	
	fieldset {
		background: white;
		border-color:#c41c24;
		padding: 15px;
		position: relative;
		border-radius: 3px;
	}
	
	legend {
		background: #c41c24;
		border-radius: 3px;
		font-weight: bold;
		font-size: 1.3rem;
		margin-bottom: 0;
		
		button {
			color: white;
			padding: 0.2rem 1em;
			cursor: default;
		}
		
		button:focus {
			outline: none;	
		}
		
	}
	
	.attribute_label {
		margin-bottom: 15px;
		font-size: 1.1rem;
		font-weight: bold;
	}
	
	li.dp_selected .dp_thumb_btn {
		outline: 3px solid #c41c24;
	}
	
	#dp_modele_broderie ul {
		display: grid;
		grid-gap: 15px;
		grid-template-columns: repeat(3, 1fr);
	}
	
	.dp_group_col ul  {
		flex-direction: column;
		gap: 30px;
		
		li {
			position: relative;
			display: flex;
			gap: 15px;
			flex-direction: row;
			width: 100%;
			align-items: start;
			
			.dp_thumb img {
				max-width: 128px !important;	
				height: auto !important;
			}
			
			button {
				text-align: left;	
			}
			
			button.option_label {
				font-weight: bold;
				font-size: 1rem;
				
				p {
					font-weight: normal;
					padding-top: 15px;
				}
			}
		}
	}
	
	.dp_group_jeutapis ul  {
		flex-direction: row;
		align-items: start;
		
		li {
			flex-direction: column-reverse;
			width: 30%;
			align-items: center;
			
			button.option_label {
                text-align: center;
            }
		}
	}
	
	div[data-name="texte_broderie"],
	div[data-name="police"] {
		width: 45%;
		display: inline-block;
		margin-right: 2%;
	}
	
	div[data-name="couleur_broderie"] {
		width: 100%;
		#dp_couleur_broderie ul {
			display: flex;
			gap: 10px;
			
			li {
				flex-grow: 1;
                flex-shrink: 1;
                flex-basis: 0;
			}
		}
		
	}
	
	div[data-name="souhait_texte_perso"] {
		margin-top: 15px;	
	}
	
	#dp_couleur_broderie {
		.dp_thumb img {
			width: 50px !important;
		}
	}
	
	
	#dp_coloris ul,
	#dp_ganses ul,
	#dp_surjets ul {
		display: grid;
		align-items: center;
		justify-content: space-around;
		grid-template-columns: repeat(4, 1fr);
	}
	
	#dp_ganses ul {
		grid-template-columns: repeat(5, 1fr);
	}
	
	.dp-checkbox-container label, 
	.ps-radio-options span {
		background: #fff;
		color: #222;
		border-radius: 20px;
		border: 2px solid #222;
		padding: 8px 16px;
		font-size: 16px;
		text-transform: uppercase;
		font-weight: 600;
		cursor: pointer;
	}
	
	.dp-checkbox-container input[type="checkbox"], 
	.input-radio {
		position: absolute;
		top: 0;
		width: 100%;
		height: 100%;
		cursor: pointer;
		opacity: 0;
	}
	
	.dp-checkbox-container label:has(input[type="checkbox"]:checked), 
	.dp-checkbox-container label:hover, 
	.ps-radio-options .input-radio:checked+span {
		background: #c41c24;
		color: white;
		border: 2px solid #c41c24;
	}
	
	.dp-checkbox-container label:has(input[type="checkbox"]:checked):after, 
	.ps-radio-options .input-radio:checked+span:after {
		color: white;
		content: "\f00c";
		font-family: 'Font Awesome 5 Free';
		font-weight: bold;
		padding-left: 4px;
		font-size: 15px;
	}
	
	@media (max-width: 767px) {
	  /* Styles pour mobile */
		.dp_type_image-list ul {
			/*flex-direction: column;*/
		}
		
		.dp-zoom {
			display: none;	
		}
		
		#dp_jeu ul {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			
			li {
				width: 100%;	
			}
		}
		
		.dp_group_col ul li {
			align-items: center;	
		}
		
		#dp_coloris ul, #dp_surjets ul, #dp_ganses ul, #dp_souhait_texte_perso ul, #dp_modele_broderie ul {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			
			img {
				max-width: 100%;
				height: auto !important;
			}
		}
		
		#dp_couleur_broderie ul {
			display: grid !important;
			grid-template-columns: repeat(4, 1fr) !important;
		}
		
		span {
			    display: inline-block;
		}
	}
	
	
}

#dp-field-info-popup .modal-dialog {
	width: 1050px;
	max-width: 100%;
}

#image-block {
	position: relative	
}

.visuel-broderie {
	font-size: 30px;
	color: white;
	position: absolute;
	bottom: 50px;
	width: 565px;
	text-align: center;
}

.vb-vertical {
	transform: rotate(90deg);
    transform-origin: left top;
    white-space: nowrap;
    bottom: 488px;
    left: 132px;
}

.footer-product-title {
	display: none	
}

.page-footer {
	.product-prices {
		position: fixed;
		bottom: 0;
		background: #fff;
		padding: 10px 20px;
		z-index: 9;
		-webkit-box-shadow: 0px 0px 6px 0px #000000;
		box-shadow: 0px 0px 6px 0px #000000;
		width: 100%;
		left: 0;
		
		.footer-product-title {
			display: inline-block
		}
		
		span {
			font-size: 1.5rem !important;	
		}
	}
}