/* Dedicated styles for the embedded ViteUnDevis widget.
   Everything is isolated here so we can tweak it without touching the main theme. */

.devis-sticky .form-card {
  width: 100%;
  max-width: 44rem;
  margin-left: auto;
}

/* Fond clair : le widget ViteUnDevis est conçu pour un fond clair (titres bleus,
   texte sombre). Le poser sur le fond anthracite du thème rendait le formulaire
   illisible. On garde donc la carte en surface claire. */
.form-card {
  background: var(--surface-1);
  color: var(--bs-body-color);
  border: 1px solid var(--line-soft);
  box-shadow: var(--shadow-md);
  font-size: 0.95rem;
}

.form-eyebrow {
  display: inline-flex;
  align-items: center;
  padding: 0.22rem 0.62rem;
  border-radius: 999px;
  background: rgba(255, 179, 0, 0.22);
  border: 1px solid rgba(255, 179, 0, 0.35);
  background: color-mix(in srgb, var(--accent-color) 24%, white);
  border-color: color-mix(in srgb, var(--accent-color) 42%, white);
  color: var(--bs-secondary);
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.form-subtitle {
  color: var(--text-soft);
}

.form-embed form {
  display: grid;
  gap: 0.75rem;
}

.form-embed label {
  color: var(--text-soft);
  font-weight: 600;
}

.form-embed input,
.form-embed textarea,
.form-embed select {
  width: 100%;
  border: 1px solid var(--line-strong);
  border-radius: 0.66rem;
  padding: 0.64rem 0.75rem;
  background: #ffffff;
  color: var(--bs-body-color);
}

.form-embed input::placeholder,
.form-embed textarea::placeholder {
  color: var(--text-muted);
}

.form-embed input:focus,
.form-embed textarea:focus,
.form-embed select:focus {
  outline: none;
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.14);
}

.form-embed button {
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 0.66rem;
  padding: 0.66rem 1rem;
  background: color-mix(in srgb, var(--bs-primary) 30%, var(--bs-secondary));
  color: #ffffff;
  font-weight: 700;
}

.form-embed button:hover {
  filter: brightness(0.95);
}

/* Extracted vendor classes/ids present in the loaded form */
.form-embed #vud_mb_js_box {
  color: var(--text-soft);
  font-family: var(--font-body);
}

.form-embed .vud_reinitialise {
  border: 1px solid var(--line-soft);
  border-radius: 0.85rem;
  background: #ffffff;
  padding: 0.75rem;
}

.form-embed #vud_devis,
.form-embed #devis_tap_ajax,
.form-embed .devistap_formulaire_box,
.form-embed #devistap {
  width: 100%;
}

.form-embed .vud_table {
  width: 100%;
}

.form-embed .vud_td {
  vertical-align: top;
}

.form-embed .vud_illustration {
  width: 72px;
  height: 72px;
  border-radius: 0.75rem;
  background-position: center;
  background-size: cover;
}

.form-embed #devistap_progression {
  margin-top: 0.75rem;
}

.form-embed #devistap_progression_barre {
  height: 6px;
  border-radius: 999px;
  background: var(--line-soft);
}

.form-embed #devistap_progression_content {
  position: relative;
  height: 1.9rem;
}

.form-embed .devistap_progression_point {
  position: absolute;
  top: 0.3rem;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 999px;
  text-align: center;
  font-size: 0.72rem;
  line-height: 1.2rem;
}

.form-embed .devistap_progression_point_rouge {
  background: var(--bs-primary);
  color: #fff;
}

.form-embed .devistap_progression_point_gris {
  background: color-mix(in srgb, var(--bs-body-color) 18%, white);
  color: var(--text-soft);
}

.form-embed h2 {
  font-family: var(--font-heading) !important;
  letter-spacing: -0.015em;
  line-height: 1.15;
  font-weight: 600;
  color: var(--bs-secondary);
  margin: 0 0 0.65rem;
  font-size: clamp(1.05rem, 1.2vw + 0.7rem, 1.35rem);
}

.form-embed .devistap_step h2 {
  margin-bottom: 0.65rem;
  font-size: inherit;
}

body .form-embed .vud_reinitialise .devistap_step h2 {
  color: var(--bs-primary) !important;
  font-family: var(--font-heading) !important;
}

.form-embed .devistap_choix_container {
  display: grid;
  gap: 0.6rem;
}

.form-embed .devistap_choix {
  border: 1px solid var(--line-strong);
  border-radius: 0.65rem;
  background: #ffffff;
  padding: 0.6rem 0.7rem;
  cursor: pointer;
  font-size: 1.2rem !important;
  text-align: center;
}

.form-embed .devistap_choix_texte {
  color: var(--bs-secondary);
  white-space: normal;
  overflow-wrap: anywhere;
}

.form-embed .devistap_rectangle_gris {
  margin-top: 0.8rem;
  padding-top: 0.55rem;
  border-top: 1px solid var(--line-soft);
}

.form-embed .devistap_bouton,
.form-embed .vud_devis_bouton_bleu {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  text-decoration: none;
  background:var(--bs-secondary) !important;
}

.form-embed .devistap_checkbox_container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.35rem;
}

body .form-embed .devistap_checkbox_container input + label {
  width: 80% !important;
  font-size: 1.5rem !important;
  font-family: var(--font-body) !important;
}

.form-embed .devistap_textarea {
  min-height: 120px;
}

.form-embed .vud_useradd_input {
  max-width: 100%;
}

.form-embed #vud_signature {
  margin-top: 0.8rem;
  font-size: 0.85rem;
  color: var(--text-muted);
}

.form-embed #vud_explication {
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--line-soft);
}

.form-embed .vud_devis_step_rond {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: var(--accent-color);
  color: var(--bs-secondary);
  font-size: 0.74rem;
}

.form-embed .devistap_no_600 {
  display: table-cell;
}

.form-embed .v16_force,
.form-embed .vud_v12 {
  vertical-align: middle;
}

.form-embed a {
  color: var(--bs-primary);
}

.form-embed a:hover {
  color: var(--bs-secondary);
}

@media (max-width: 991.98px) {
  .devis-sticky .form-card {
    max-width: none;
    margin-left: 0;
  }
}

/* User quick overrides (keep at end for easy revert)
   - Hide third-party form header
   - Hide the grey footer/back-restart bar between steps
   - Hide third-party signature */
.form-embed #vud_devis_header,
.form-embed .devistap_rectangle_gris,
.form-embed #vud_signature {
  display: none !important;
}

/* Blocs de présentation de la page viteundevis : jamais affichés dans le formulaire. */
.form-embed #pre_devis,
.form-embed #devis_box_entete {
  display: none !important;
}
