﻿/* FORMULAIRES.CSS - Styles additionnels propres aux formulaires */

/* affectation webfont icônes */
.gform_wrapper.gravity-theme .collapsible .gfield_label:after, .gform_wrapper.gravity-theme .ginput_container_textarea:after, 
.gform_wrapper.gravity-theme .gform_drop_instructions:before, .gform_wrapper.gravity-theme .gform_button_select_files:after { font-family: 'icomoon' !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }


/* mise en page custom (ajouts + overrides au thème de base Gravity Forms) */
.gform_wrapper.gravity-theme .charleft.ginput_counter, .gform_wrapper.gravity-theme .gform_heading { display: none !important; }
.gform_wrapper.gravity-theme .gform_validation_errors { margin-bottom: 2em; }
.gform_wrapper.gravity-theme .gfield { margin: 0 0 1.25em; font-size: 1.25rem; /* 20px */ }
.gform_wrapper.gravity-theme .gfield_label, .gform_wrapper.gravity-theme .gfield_description { font-size: 100% !important; }
.gform_wrapper.gravity-theme .gfield.extra-space { margin-top: 1.75em; }
.gform_wrapper.gravity-theme .gfield_required { padding-left: 0.0625em; vertical-align: text-top; font-size: inherit; color: inherit; }
.gform_wrapper.gravity-theme .gfield.txt-area textarea.medium { height: 5em; }
.gform_wrapper.gravity-theme .gfield_error [aria-invalid="true"] { color: #C02B0A; }
.gform_wrapper.gravity-theme .validation_message { position: absolute; border: none; padding: 0 !important; font-size: 0.875rem !important; background: transparent; }
.gform_wrapper.gravity-theme .gfield_description { padding-top: 0; }
.gform_wrapper.gravity-theme .gsection { margin: 0 0 2em; padding: 0 !important; font-size: 1.25rem; border-bottom: none !important; }
/* blocs collapsable (liste d'équipements) */
.gform_wrapper.gravity-theme .collapsible { margin-bottom: 0; }
.gform_wrapper.gravity-theme .collapsible .gfield_label { display: block; overflow: hidden; margin: 0; cursor: pointer; font-size: inherit; font-weight: 400; border-bottom: 2px solid var(--primary); padding-bottom: 0.875em; user-select: none; }
.gform_wrapper.gravity-theme .collapsible .gfield_label .m_expand { display: none; }
.gform_wrapper.gravity-theme .collapsible .gfield_label:after { content: "\e900"; float: right; margin: 0.25em 0 0 0.25em; }
.gform_wrapper.gravity-theme .collapsible.show_collapse .gfield_label { font-weight: 700; }
.gform_wrapper.gravity-theme .collapsible.show_collapse .gfield_label:after { content: "\e903"; }
.gform_wrapper.gravity-theme .collapsible + .m_section + .gfield { margin-top: 1.25em; }
.m_section { grid-column: 1/-1; }
/* textarea avec drag handle custom (ref: https://codepen.io/bobbiejwilson/pen/gggoQb) */
.gform_wrapper.gravity-theme .ginput_container_textarea { position: relative; overflow: hidden; border-bottom: 2px solid var(--primary); }
.gform_wrapper.gravity-theme .gfield_error .ginput_container_textarea { border-color: #C02B0A; color: #C02B0A; }
.gform_wrapper.gravity-theme .ginput_container_textarea textarea { border-bottom: none; }
.gform_wrapper.gravity-theme .ginput_container_textarea:after { content: "\e900"; position: absolute; right: 0; bottom: 0; padding: 0.33em 0.66em; font-size: 75%; transform: rotate(-45deg) translate(0.5em, 0.5em); pointer-events: none; background: #FFF; color: inherit; }
.bggris .gform_wrapper.gravity-theme .ginput_container_textarea:after { background: #E6E6E6; }
/* checkboxes et radios */
.gform_wrapper.gravity-theme .gfield_checkbox, .gform_wrapper.gravity-theme .gfield_radio { font-size: 1rem; }
.gform_wrapper.gravity-theme .gchoice { margin: 0 0 1em; }
.gform_wrapper.gravity-theme legend.gfield_label { font-weight: 400 !important; bottom: 0.5em; margin-bottom: 1em; }
.gform_wrapper.gravity-theme .gfield.langue .gchoice { margin: 0 0 0.75em; }
.gform_wrapper.gravity-theme .gfield_checkbox label, .gform_wrapper.gravity-theme .gfield_radio label { font-size: inherit !important; }
.gform_wrapper.gravity-theme .gfield-choice-input + label { vertical-align: text-top !important; }
/* checkboxes/radios restylés */
.icheck-item { position: relative; display: inline-block; width: 1em; height: 1em; margin: 0.125em 0.25em 0 0; vertical-align: text-top; border: 1px solid var(--accent); border-radius: 100%; font-size: 16px; background-color: #FFF; color: inherit; cursor: pointer; }
.icheck-item:before { content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M5.25 7.32 8.5 3.5l.5.59L5.25 8.5 3 5.85l.5-.58 1.75 2.05Z' fill='%23fff'/%3E%3C/svg%3E"); position: absolute; left: 50%; top: 50%; visibility: hidden; width: 1em; height: 1em; margin: -0.5em 0 0 -0.5em; font-size: 112.5%; line-height: 1; }
.icheck-item.checked { background-color: var(--primary); border-color: var(--primary); }
.icheck-item.checked:before { color: inherit; visibility: visible; }
.icheck-item.hover, .icheck-item.focus { border-color: var(--accent); background-color: var(--accent); }
.icheck-item.disabled { pointer-events: none; }
.icheck-item.disabled input { visibility: hidden; }
.icheck-item.iradio:before { content: ""; font-size: 50%; background-color: #fff; border-radius: 100%; }
.gfield_error .icheck-item:not(.checked) { border-color: #C02B0A; }
.gfield_error .icheck-item:not(.checked).hover, .gfield_error .icheck-item:not(.checked).focus { background-color: #C02B0A; }
.icheck-item + label { max-width: calc(100% - 2.5em); vertical-align: text-top; }
/* bouton submit (base comme bouton d'action dans styles.css) */
.gform_wrapper.gravity-theme .gform_button { margin-right: 0.5em; }
/* filepicker pour upload */
.gform_wrapper.gravity-theme .gform_drop_area { border: 2px dashed var(--primary) !important; border-radius: 0 !important; margin: 0.5em 0 1em !important; padding: 32px 0 !important; text-align: left !important; }
.gform_wrapper.gravity-theme .gform_drop_instructions, .gform_wrapper.gravity-theme .gform_button_select_files { position: relative; width: 16em; padding: 0 1.6em 0 3.2em; }
.gform_wrapper.gravity-theme .gform_drop_instructions { opacity: 0.66; margin: 0 auto 0.25em !important; }
.gform_wrapper.gravity-theme .gform_drop_instructions:before { content: "\e907"; position: absolute; margin-left: -1.125em; font-size: 300%; }
.gform_wrapper.gravity-theme .gform_button_select_files { display: block; margin: 0 auto !important; color: inherit; text-align: left; }
.gform_wrapper.gravity-theme .gform_button_select_files:after { content: "\e92d";  position: absolute; margin: 0.25em 0 0 0.33em; }
.gform_wrapper.gravity-theme .ginput_preview_list .gform-theme-button { margin-left: 0.25em; color: inherit; }
.gform_wrapper.gravity-theme .gfield_fileupload_filename { display: block; margin-bottom: 0.25em; font-weight: 700; }
.gform_wrapper.gravity-theme .gfield_fileupload_filesize { padding-left: 0 !important; }


/* formulaire contact - offset pour positionner le sujet à gauche */
form.contact { position: relative; padding-left: 43.125%; }


/* formulaire contact -  sujet aligné à gauche + radio button en boutons */
.sujet { position: absolute; left: 0; top: -0.66em; width: 30%; max-width: 21.875rem; }
.gform_wrapper.gravity-theme .sujet .gfield_label { font-size: 2.25rem !important; margin: 0 0 1em; line-height: 1.2; }
.gform_wrapper.gravity-theme .sujet .gfield_radio .gchoice { margin-bottom: 1.5em; }
.gform_wrapper.gravity-theme .sujet .gfield_radio .gchoice input[type="radio"] { display: none; }
.gform_wrapper.gravity-theme .sujet .gfield_radio .gchoice label { display: inline-flex; align-items: center; text-align: center; min-height: 4.286em; padding: 0.75em 2em; cursor: pointer; border-radius: 7em; border: 2px solid var(--primary); color: var(--primary); font-size: 0.875rem !important; font-weight: 700; line-height: 1.125; letter-spacing: 0.1em; text-transform: uppercase; }
.gform_wrapper.gravity-theme .sujet .gfield_radio .gchoice input[type="radio"]:checked + label { background: var(--primary); color: #FFF; border: 2px solid transparent; }
.theme-consigne .gform_wrapper.gravity-theme .sujet .gfield_radio .gchoice input[type="radio"]:checked + label { background: var(--accent); color: var(--primary); }
.theme-manutention .gform_wrapper.gravity-theme .sujet .gfield_radio .gchoice label { border-color: var(--accent); color: var(--accent); }
.theme-manutention .gform_wrapper.gravity-theme .sujet .gfield_radio .gchoice input[type="radio"]:checked + label { background: var(--accent); color: #FFF; }

/* formulaire contact - liste des équipements/solutions */
.contact-equipements-liste .gfield_checkbox { -webkit-columns: 2 8rem; -moz-columns: 2 8rem; columns: 2 8rem; column-gap: 2%; overflow: hidden; }

/* formulaire téléchargement brochure - équipements (pas de contrôle sur les classes du wrapper) */
.brochure_wrapper { align-self: flex-start !important; }
@media (min-width: 36rem) {
	.brochure_wrapper {
		flex: 0 0 auto;
		width: 75%;
	}
}
@media (min-width: 48rem){
	.brochure_wrapper {
		margin-left: 8.33333333%;
		width: 58.33333333%;
	}
}
@media (min-width: 62rem){
	.brochure_wrapper {
		width: 41.66666667%;
	}
}


/* media queries */
@media (max-width: 74.9375rem) { /* 1199/16 - XL */
	.gform_wrapper.gravity-theme .gfield { font-size: 1rem; }
	form.contact { padding-left: 35%; }
}

@media (max-width: 61.9375rem) { /* 991/16 - L */
	.gform_wrapper.gravity-theme .gfield_checkbox, .gform_wrapper.gravity-theme .gfield_radio { font-size: 0.8125rem; }
	.gform_wrapper.gravity-theme .sujet .gfield_label { font-size: 1.75rem !important; }
	.gform_wrapper.gravity-theme .sujet .gfield_radio .gchoice label { font-size: 0.75rem !important; }
}

@media (max-width: 47.9375rem) { /* 767/16 - M */
	form.contact { padding-left: 0; }
	.sujet { position: static; width: auto; max-width: none; }
	.gform_wrapper.gravity-theme .sujet .gfield_radio .gchoice { margin-bottom: 1em; }	
}

@media (max-width: 35.9375rem) { /* 575/16 - S */
	.gform_wrapper.gravity-theme .gfield:not(.gfield--width-full) { grid-column: 1/-1; }	
	.gform_wrapper.gravity-theme .gfield { font-size: 0.75rem; }	
	.gform_wrapper.gravity-theme .collapsible .gfield_label, .gform_wrapper.gravity-theme .ginput_container_textarea { border-bottom-width: 1px; }
	.gform_wrapper.gravity-theme .gfield_checkbox, .gform_wrapper.gravity-theme .gfield_radio { font-size: 0.6875rem; }
	.icheck-item { margin-top: 0; }
	.gform_wrapper.gravity-theme .sujet .gfield_label { font-size: 1.25rem !important; }	
	.gform_wrapper.gravity-theme .sujet .gfield_radio .gchoice label { font-size: 0.5625rem !important; border-width: 1px; }
	.gform_wrapper.gravity-theme .gform_drop_area { border-width: 1px !important; }
}
