.linovfp {
  margin: 1rem 0;
}

/* Le conteneur du theme aligne son contenu a droite : on force l'alignement a gauche.
   Une declaration directe l'emporte toujours sur une valeur heritee. */
.linovfp-label {
  display: block;
  margin-bottom: .5rem;
  font-size: .875rem;
  text-align: left;
}

.linovfp-row {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.linovfp-input {
  flex: 1 1 8rem;
  min-width: 7rem;
  padding: .75rem;
  border: 1px solid #d6d4d4;
  background: #fff;
}

.linovfp-btn {
  flex: 1 1 12rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .75rem 1rem;
  border: 0;
  background: #2f3132;
  color: #fff;
  cursor: pointer;
  font-weight: 600;
}

.linovfp-btn:hover {
  background: #454849;
}

.linovfp-btn[disabled] {
  opacity: .6;
  cursor: default;
}

/* Montant estime : repris sous le prix produit. */
.linovfp-result:empty {
  display: none;
}

.linovfp-result {
  color: #B7ACA0;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: left;
}

.linovfp-result .linovfp-result-suffix {
  font-size: .75rem;
  font-weight: 400;
  color: #7a7a7a;
}

.linovfp-message:empty {
  display: none;
}

.linovfp-message {
  margin-top: .5rem;
  font-size: .8125rem;
  color: #7a7a7a;
}

.linovfp-message.linovfp-error {
  color: #b9433a;
}
