/* GANTRY5 DEVELOPMENT MODE ENABLED.
 *
 * WARNING: This file is automatically generated by Gantry5. Any modifications to this file will be lost!
 *
 * For more information on modifying CSS, please read:
 *
 * http://docs.gantry.org/gantry5/configure/styles
 * http://docs.gantry.org/gantry5/tutorials/adding-a-custom-style-sheet
 */

@charset "UTF-8";
/*  Additional CSS Styles */
/* Formulaires */
.visform-small {
  max-width: 750px;
  width: 100%;
  margin: 0 auto;
}
.visform-label {
  max-width: 220px;
}
.visform-field250 {
  max-width: 250px;
}
.visform-field400 {
  max-width: 400px;
}
/*select::placeholder,
textarea::placeholder,
input::placeholder {
  color: #fae0de;
}*/
/* ===============================
   FLATPICKR – STYLE MODERNE
   =============================== */
.flatpickr-calendar {
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
  border: none;
  font-family: inherit;
}
.flatpickr-months {
  background: #ff6600;
  color: #fff;
  border-radius: 12px 12px 0 0;
}
.flatpickr-weekday {
  color: #666;
  font-weight: 600;
}
.flatpickr-day {
  border-radius: 6px;
  transition: all 0.2s ease;
}
/* Hover */
.flatpickr-day:hover {
  background: #ff6600;
  color: #fff;
}
/* Jour sélectionné */
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange {
  background: #ff6600;
  color: #fff;
}
/* Aujourd’hui */
.flatpickr-day.today {
  border: 1px solid #ff6600;
}
/*.visforms .btn-calendar,
.visforms .field-calendar {
  display: none;
}*/
.visforms input.viscalendar-input {
  display: block !important;
  visibility: visible !important;
}
/* ==================================================
   VISFORMS – STYLE UNIFIÉ (Helium / Bootstrap)
   ================================================== */
/* --------- Base champs texte / textarea / select --------- */
.visforms input.form-control, .visforms textarea.form-control, .visforms select.form-select {
  background-color: #4082ff;
  color: #f3f7ff;
  border: 1px solid #ccc;
  border-radius: 6px;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
/* --------- Focus --------- */
.visforms input.form-control:focus, .visforms textarea.form-control:focus, .visforms select.form-select:focus {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  border: 1px solid #f3f7ff;
  border-radius: 0.5rem;
  box-shadow: none;
  box-shadow: none;
}
/* --------- Champs remplis (texte / textarea avec placeholder) --------- */
.visforms input.form-control[placeholder]:not(:placeholder-shown):not(:focus), .visforms textarea.form-control[placeholder]:not(:placeholder-shown):not(:focus) {
  background-color: #0d60ff;
  color: #f3f7ff;
}
/* --------- Champs required valides (captcha, select…) --------- */
.visforms input.form-control:required:valid, .visforms textarea.form-control:required:valid, .visforms select.form-select:required:valid {
  background-color: #0d60ff;
  color: #f3f7ff;
}
/* --------- Champs invalides --------- */
.visforms input.form-control:required:invalid, .visforms textarea.form-control:required:invalid, .visforms select.form-select:required:invalid {
  background-color: #4082ff;
  border-color: #ff6600;
}
/* ==================================================
   CHECKBOX & RADIO
   ================================================== */
.visforms .form-check-input {
  width: 18px;
  height: 18px;
  cursor: pointer;
  border: 1px solid #ccc;
}
/* Checkbox cochée */
.visforms .form-check-input:checked {
  background-color: #ff6600;
  border-color: #ff6600;
}
/* Focus clavier */
.visforms .form-check-input:focus {
  box-shadow: 0 0 0 2px rgba(255, 102, 0, 0.3);
}
/* Label checkbox */
.visforms .form-check-label {
  margin-left: 6px;
  cursor: pointer;
}
/* ==================================================
   LABELS & ERREURS
   ================================================== */
.visforms label {
  font-weight: 600;
  margin-bottom: 4px;
  display: inline-block;
}
.visforms .error, .visforms .visError {
  color: #c00;
  font-size: 0.9rem;
}
/* ===== CHAMPS TEXTE VISFORMS – STYLE UNIFIÉ ===== */
/* État par défaut (vide) 
.visforms input.form-control[type="text"] {
  background-color: #4082ff;
  color: #f3f7ff;
  transition: background-color 0.2s ease, color 0.2s ease;
}

/* Focus 
.visforms input.form-control[type="text"]:focus {
  background-color: #4082ff;
  border-color: #f3f7ff;
  box-shadow: none;
}

/* Champ rempli (avec placeholder) 
.visforms input.form-control[type="text"][placeholder]:not(:placeholder-shown):not(:focus) {
  background-color: #4082ff;
  color: #f3f7ff;
}

/* Champ rempli (sans placeholder mais required) 
.visforms input.form-control[type="text"]:required:valid {
  background-color: #0d60ff;
  color: #f3f7ff;
}
*/
input.visform-custom-champ-xs {
  width: 100px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  border: 1px solid #f3f7ff;
  border-radius: 0.5rem;
  box-shadow: none;
}
input.visform-custom-champ-s {
  width: 180px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  border: 1px solid #f3f7ff;
  border-radius: 0.5rem;
  box-shadow: none;
}
input.visform-custom-champ-m {
  width: 300px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  border: 1px solid #f3f7ff;
  border-radius: 0.5rem;
  box-shadow: none;
}
input.visform-custom-champ-l {
  width: 400px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  border: 1px solid #f3f7ff;
  border-radius: 0.5rem;
  box-shadow: none;
}
input.visform-custom-champ-xl {
  width: 500px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  border: 1px solid #f3f7ff;
  border-radius: 0.5rem;
  box-shadow: none;
}
input.visform-custom-champ-xs:not {
  background-color: #0d60ff;
}
input.visform-custom-champ-s:not {
  background-color: #0d60ff;
}
input.visform-custom-champ-m:not {
  background-color: #0d60ff;
}
input.visform-custom-champ-l:not {
  background-color: #0d60ff;
}
select.visform-custom-champ-xs {
  width: 50px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  border: 1px solid #f3f7ff;
  border-radius: 0.5rem;
  box-shadow: none;
}
select.visform-custom-champ-s {
  width: 100px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  border: 1px solid #f3f7ff;
  border-radius: 0.5rem;
  box-shadow: none;
}
select.visform-custom-champ-m {
  width: 200px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  border: 1px solid #f3f7ff;
  border-radius: 0.5rem;
  box-shadow: none;
}
select.visform-custom-champ-l {
  width: 400px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  border: 1px solid #f3f7ff;
  border-radius: 0.5rem;
  box-shadow: none;
}
form-control.#field77 {
  width: 200px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  border: 1px solid #f3f7ff;
  border-radius: 0.5rem;
  box-shadow: none;
}
/* État par défaut */
input#form2viscaptcha_response {
  background-color: #4082ff;
  color: #f3f7ff;
}
/* Champ rempli et valide */
input#form2viscaptcha_response:valid {
  background-color: #0d60ff;
  color: #f3f7ff;
}
/* Champ invalide */
input#form2viscaptcha_response:invalid {
  background-color: #fff0f0;
}
/* Hauteur modules */
.forcebox250 {
  height: 250px;
}
.forcebox220 {
  height: 220px;
}
.forcebox150 {
  height: 150px;
}
/* End Additional CSS Styles */
/*# sourceMappingURL=custom_16.css.map */