/**
 * MicroModal default styles
 */

.modal {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10000;
}

.modal__container {
  background-color: #fff;
  padding: 30px;
  max-width: 700px;
  width: 90%;
  max-height: 90vh;
  border-radius: 8px;
  overflow-y: auto;
  box-sizing: border-box;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #eee;
  padding-bottom: 15px;
  margin-bottom: 20px;
}

.modal__title {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 1.25;
  color: #1e73be; /* Couleur bleue pour le titre */
  box-sizing: border-box;
}

.modal__close {
  background: transparent;
  border: 0;
  font-size: 24px;
  cursor: pointer;
  color: #666;
  transition: color 0.2s;
}

.modal__close:hover {
  color: #1e73be;
}

.modal__content {
  margin-top: 1rem;
  margin-bottom: 1.5rem;
  line-height: 1.5;
  color: rgba(0, 0, 0, 0.8);
}

.modal__footer {
  border-top: 1px solid #eee;
  padding-top: 15px;
  display: flex;
  justify-content: flex-end;
}

/**
 * Styles spécifiques pour notre implémentation
 */

/* Style simplifié pour les informations produit */
#modal-product-info {
  margin-bottom: 20px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  line-height: 1.6;
  color: #333;
  background-color: #f8f8f8;
  padding: 15px;
  border-radius: 5px;
}

#modal-product-info strong {
  display: inline-block;
  font-weight: 600;
  min-width: 90px;
  color: #1e73be;
}

/* Masquer les labels Forminator pour les champs cachés */
.forminator-row.forminator-hidden {
  display: none !important;
}

/* Style pour l'affichage des informations produit similaire à la capture d'écran */
.product-info-simple {
  padding: 0 0 15px 0;
}

.product-info-simple p {
  margin: 5px 0;
  font-size: 14px;
}

/* Eliminer l'espace au-dessus du formulaire */
.modal__content .forminator-row:first-child {
  margin-top: 0;
}

/* Style pour uniformiser tous les boutons */
#modal-nous-consulter .button,
#modal-nous-consulter .modal-close-trigger,
.js-open-quote-modal,
#forminator-module-8635 .forminator-button,
#forminator-module-8635 .forminator-button-submit {
  display: inline-block !important;
  padding: 10px 20px !important;
  background-color: #1e73be !important;
  color: white !important;
  border: none !important;
  border-radius: 30px !important; /* Boutons beaucoup plus arrondis */
  font-size: 14px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, transform 0.1s ease !important;
  text-align: center !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* Style spécifique pour le bouton "Nous consulter" dans les tableaux de produits */
table .js-open-quote-modal {
  padding: 6px 14px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  min-width: 110px !important;
  background-color: #1e73be !important;
  box-shadow: none !important;
  transition: all 0.2s ease !important;
  letter-spacing: 0.2px !important;
}

table .js-open-quote-modal:hover {
  background-color: #1a5fa0 !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

#modal-nous-consulter .button:hover,
#modal-nous-consulter .modal-close-trigger:hover,
.js-open-quote-modal:hover,
#forminator-module-8635 .forminator-button:hover,
#forminator-module-8635 .forminator-button-submit:hover {
  background-color: #1a5fa0 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15) !important;
}

#modal-nous-consulter .modal-close-trigger {
  background-color: #777 !important;
}

#modal-nous-consulter .modal-close-trigger:hover {
  background-color: #555 !important;
}

/* Améliorations supplémentaires pour le formulaire Forminator */
#forminator-module-8635.forminator-ui {
  max-width: 100% !important;
}

#forminator-module-8635 .forminator-row {
  margin-bottom: 15px !important;
}

#forminator-module-8635 .forminator-input,
#forminator-module-8635 .forminator-textarea {
  padding: 10px !important;
  border: 1px solid #ddd !important;
  border-radius: 4px !important;
  width: 100% !important;
  font-size: 14px !important;
  transition: border-color 0.2s !important;
}

#forminator-module-8635 .forminator-input:focus,
#forminator-module-8635 .forminator-textarea:focus {
  border-color: #1e73be !important;
  box-shadow: 0 0 0 2px rgba(30, 115, 190, 0.1) !important;
  outline: none !important;
}

#forminator-module-8635 .forminator-label {
  margin-bottom: 5px !important;
  display: block !important;
  font-weight: 500 !important;
  color: #444 !important;
}

/* Styles pour FluentForms dans la modale */
.modal__content .fluentform {
  max-width: 100% !important;
}

.modal__content .fluentform .ff-el-group {
  margin-bottom: 15px !important;
}

.modal__content .fluentform .ff-el-form-control,
.modal__content .fluentform input[type="text"],
.modal__content .fluentform input[type="email"],
.modal__content .fluentform input[type="tel"],
.modal__content .fluentform textarea,
.modal__content .fluentform select {
  padding: 10px !important;
  border: 1px solid #ddd !important;
  border-radius: 4px !important;
  width: 100% !important;
  font-size: 14px !important;
  transition: border-color 0.2s !important;
  box-sizing: border-box !important;
}

.modal__content .fluentform .ff-el-form-control:focus,
.modal__content .fluentform input[type="text"]:focus,
.modal__content .fluentform input[type="email"]:focus,
.modal__content .fluentform input[type="tel"]:focus,
.modal__content .fluentform textarea:focus,
.modal__content .fluentform select:focus {
  border-color: #1e73be !important;
  box-shadow: 0 0 0 2px rgba(30, 115, 190, 0.1) !important;
  outline: none !important;
}

.modal__content .fluentform .ff-el-input--label label,
.modal__content .fluentform .ff-field_label {
  margin-bottom: 5px !important;
  display: block !important;
  font-weight: 500 !important;
  color: #444 !important;
  font-size: 14px !important;
}

.modal__content .fluentform .ff-btn-submit,
.modal__content .fluentform .ff-btn {
  display: inline-block !important;
  padding: 10px 20px !important;
  background-color: #1e73be !important;
  color: white !important;
  border: none !important;
  border-radius: 30px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, transform 0.1s ease !important;
  text-align: center !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

.modal__content .fluentform .ff-btn-submit:hover,
.modal__content .fluentform .ff-btn:hover {
  background-color: #1a5fa0 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15) !important;
}

/* Masquer les champs cachés dans FluentForms */
.modal__content .fluentform .ff-el-hidden {
  display: none !important;
}

/* Styles pour les messages d'erreur et de succès FluentForms */
.modal__content .fluentform .ff-errors-in-stack {
  background: #f8d7da !important;
  border: 1px solid #f5c2c7 !important;
  color: #721c24 !important;
  padding: 10px !important;
  border-radius: 4px !important;
  margin-bottom: 15px !important;
}

.modal__content .fluentform .ff-success {
  background: #d1e7dd !important;
  border: 1px solid #badbcc !important;
  color: #0f5132 !important;
  padding: 10px !important;
  border-radius: 4px !important;
  margin-bottom: 15px !important;
}

/* Responsive design amélioré */
@media (max-width: 768px) {
  .modal__container {
    padding: 20px;
    width: 95%;
  }
  
  #forminator-module-8635 .forminator-row {
    margin-bottom: 10px !important;
  }
  
  .modal__title {
    font-size: 1.2rem;
  }
  
  #modal-product-info {
    padding: 10px;
  }
  
  #modal-nous-consulter .button,
  #modal-nous-consulter .modal-close-trigger,
  .js-open-quote-modal,
  #forminator-module-8635 .forminator-button,
  #forminator-module-8635 .forminator-button-submit {
    padding: 8px 16px !important;
    font-size: 13px !important;
  }
  
  /* Responsive pour FluentForms */
  .modal__content .fluentform .ff-el-group {
    margin-bottom: 10px !important;
  }
  
  .modal__content .fluentform .ff-btn-submit,
  .modal__content .fluentform .ff-btn {
    padding: 8px 16px !important;
    font-size: 13px !important;
  }
}

/**
 * Animation styles
 */

.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden="false"] .modal__overlay {
  animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal__container {
  animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__overlay {
  animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__container {
  animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}

@keyframes mmfadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes mmfadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}

@keyframes mmslideIn {
  from { transform: translateY(15%); }
  to { transform: translateY(0); }
}

@keyframes mmslideOut {
  from { transform: translateY(0); }
  to { transform: translateY(-10%); }
} 