/* ============================================================
   FORMULAIRE DEVIS / CONTACT — page autonome chargée en iframe modal (fiches produits).
   Utilitaires (.rouge/.centre/.hidden) + styles du formulaire (repris V7).
   ============================================================ */
.rouge { color: #DC0000; }
.centre { text-align: center; margin: auto; }
.hidden { display: none; }

	body {
		min-width: auto;
		font-family: "Arial", sans-serif;
		background-color: #f5f5f5;
		margin: 0;
		padding: 0;
		font-size: 12px;
		color: #036;
	}
	
	#contenu_devis { 
		width: auto;
		max-width: 700px; 
		min-height: 660px; 
		padding: 0 10px 15px 10px;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		margin: 0 auto;
		background-color: #fbf8f3;
	}
	#contenu_devis.indiv { background-color: #fff; }
	
	#contenu_devis > .titre {
	    color: #fff;
		margin: 0;
		padding: 12px 0;
		font-size: 16px;
		line-height: 21px;
	}
	#contenu_devis.indiv > .titre {
		background-color: #305982;
		margin: 0 -10px;
	}
	#contenu_devis > .alerte {
		margin: 15px 0;
		font-size: 15px;
		line-height: 17px;
	}
	#contenu_devis > .mention {
		margin: 8px 0;
		font-size: 14px;
		line-height: 15px;
	}
	
	#formulaire_devis .bloc_champs.hidden { display: none !important; }
	#formulaire_devis .bloc_champs > label {
		font-size: 13px;
		text-align: right;
	}
	#formulaire_devis .bloc_champs > .champs {
		font-size: 14px;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		line-height: 18px;
		padding: 1px;
		border: 1px solid #a8a8a8;
		border-radius: 2px;
	}
	#formulaire_devis .bloc_champs > select.champs { height: 22px; }
	
	#datepicker { cursor: pointer; }
	textarea { resize: vertical; }
	
	#formulaire_devis #zoneBoutonContact { margin-top: 20px; }
	
	label.relief { color: #ffff00; }
	input.relief, select.relief, textarea.relief { background-color: #ffff00; }
	
	.ui-datepicker .ui-datepicker-header { background-color: #8e6c2f; }
	.ui-widget-header .ui-state-hover {
		background-color: transparent;
		border: none;
	}
	.ui-datepicker .ui-datepicker-prev-hover { 
		top: 2px;
		left: 2px; 
	}
	.ui-datepicker .ui-datepicker-next-hover { 
		top: 2px;
		right: 2px; 
	}
	
	#boutonContact { width: 200px; }
	
	#cookiescript_badge, 
	#cookiescript_injected_wrapper { display: none !important; }
	
	
	@media only screen and (min-width: 601px) {
		#contenu_devis:not(.indiv) { 
			background-image: url('../../images/groupes/fond_devis.jpg');
			background-repeat: no-repeat;
			background-size: 700px 750px;
			background-position: top center;
		}
		
		#formulaire_devis .flex {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-ms-flex-wrap: wrap;
			    flex-wrap: wrap;
			gap: 10px;
		}
		#formulaire_devis .bloc_champs:not(.none) {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			gap: 5px;
			-webkit-box-align: center;
			    -ms-flex-align: center;
			        align-items: center;
		}
		#formulaire_devis .bloc_champs:not(.none) > label { -webkit-box-flex: 110px; -ms-flex: 110px 0 1; flex: 110px 0 1; }
		#formulaire_devis .bloc_champs:not(.none) > .champs { 
			-webkit-box-flex: calc(100% - 115px); 
			    -ms-flex: calc(100% - 115px) 0 1; 
			        flex: calc(100% - 115px) 0 1; 
			max-width: calc(100% - 115px);
		}
		#formulaire_devis .bloc_champs.none > * { display: block; }
		#formulaire_devis .bloc_champs.none > label { text-align: left; }
		#formulaire_devis .bloc_champs.none > input, 
		#formulaire_devis .bloc_champs.none > select,
		#formulaire_devis .bloc_champs.none > textarea { 
			width: 100%; 
			margin-top: 5px;
		}
		#formulaire_devis .bloc_champs:not(.full) { -webkit-box-flex: calc(50% - 5px); -ms-flex: calc(50% - 5px) 0 0px; flex: calc(50% - 5px) 0 0; }
		#formulaire_devis .bloc_champs.none,
		#formulaire_devis .bloc_champs.half,
		#formulaire_devis .bloc_champs.full { -webkit-box-flex: 100%; -ms-flex: 100% 0 0px; flex: 100% 0 0; }
		#formulaire_devis .bloc_champs.half > .champs { -webkit-box-flex: calc(50% - 120px); -ms-flex: calc(50% - 120px) 0 1; flex: calc(50% - 120px) 0 1; }
		
		#pays { max-width: 75%; }
	}
	
	@media only screen and (max-width: 600px) {
		#contenu_devis > .titre {
			background-color: #8e6c2f;
			margin-left: -10px;
			margin-right: -10px;
		}
		#formulaire_devis .flex {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-orient: vertical;
			-webkit-box-direction: normal;
			    -ms-flex-direction: column;
			        flex-direction: column;
			gap: 10px 0;
			-webkit-box-align: center;
			    -ms-flex-align: center;
			        align-items: center;
		}
		#formulaire_devis .flex,
		#zoneBoutonContact {
			max-width: 400px;
			margin: 0 auto;
		}
		#formulaire_devis .bloc_champs { width: 100%; }
		#formulaire_devis .bloc_champs:not(.none) {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-align: center;
			    -ms-flex-align: center;
			        align-items: center;
			gap: 5px;
			width: 100%;
		}
		#formulaire_devis .bloc_champs:not(.none) > label { -webkit-box-flex: 110px; -ms-flex: 110px 0 0px; flex: 110px 0 0; }
		#formulaire_devis .bloc_champs:not(.none) > .champs { 
			-webkit-box-flex: calc(100% - 115px); 
			    -ms-flex: calc(100% - 115px) 1 1; 
			        flex: calc(100% - 115px) 1 1;
			max-width: calc(100% - 115px);
		}
		#formulaire_devis .bloc_champs.none > * { display: block; }
		#formulaire_devis .bloc_champs.none > label { text-align: left; }
		#formulaire_devis .bloc_champs.none > input, 
		#formulaire_devis .bloc_champs.none > select,
		#formulaire_devis .bloc_champs.none > textarea { 
			width: 100%; 
			margin-top: 5px;
		}
		
		textarea { height: 95px; }
		
		.g-recaptcha {
			overflow: hidden;
			text-align: right;
		}
		.g-recaptcha > div { display: inline-block; }
		#formulaire_devis #zoneBoutonContact { text-align: right; }
	}
	
	@media only screen and (max-width: 400px) {
		#contenu_devis > .titre { font-size: 4.5vw; }
		
		#formulaire_devis .bloc_champs.recaptcha {
			position: relative;
			height: 62px;
		}
		.g-recaptcha {
			position: absolute;
			top: 0;
			right: 0;
			-webkit-transform: scale(.8);
			    -ms-transform: scale(.8);
			        transform: scale(.8);
			-webkit-transform-origin: top right;
			    -ms-transform-origin: top right;
			        transform-origin: top right;
		}
	}
