/* ==========================================================
   FORMINATOR × BLOOPIN — FORMULAIRE 337
========================================================== */

body.page-id-338 footer.bp-footer{
  display: none !important;
}


form#forminator-module-337.forminator-ui.forminator-custom-form{
  padding: clamp(24px, 4vw, 48px) !important;
}

#forminator-module-337,
#forminator-module-337 *{
  box-sizing: border-box;
  font-family: 'Poppins', sans-serif !important;
}

#forminator-module-337{
  max-width: 820px;
  margin: 0 auto;
  padding: clamp(20px, 4vw, 36px);

  background: rgba(255,255,255,.72) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-lg) !important;

  backdrop-filter: blur(14px) saturate(1.08);
  -webkit-backdrop-filter: blur(14px) saturate(1.08);
}

/* Pagination / étapes */
#forminator-module-337 .forminator-pagination{
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

#forminator-module-337 .forminator-pagination--content{
  padding: 0 !important;
}


/* Titres de pages */
#forminator-module-337 .forminator-title{
  margin: 0 0 10px !important;
  color: var(--text) !important;
  font-size: clamp(1.45rem, 3vw, 2.15rem) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: -.045em !important;
}

/* Sous-titre / texte d'introduction sous chaque question */
form#forminator-module-337.forminator-ui.forminator-custom-form.forminator-design--default .forminator-subtitle,
#forminator-module-337.forminator-design--default .forminator-subtitle,
#forminator-module-337 .forminator-description{
  margin: 0 0 18px !important;
  color: var(--text-soft) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

/* Rows */
#forminator-module-337 .forminator-row{
  margin-bottom: 18px !important;
}

#forminator-module-337 .forminator-col{
  padding: 0 8px !important;
}

/* Labels */
#forminator-module-337 .forminator-label{
  margin-bottom: 8px !important;
  color: var(--text) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

/* Champs */
#forminator-module-337 input,
#forminator-module-337 textarea,
#forminator-module-337 select,
#forminator-module-337 .forminator-input,
#forminator-module-337 .forminator-textarea,
#forminator-module-337 .forminator-select2 + .select2 .select2-selection{
  width: 100% !important;
  min-height: 54px !important;
  padding: 14px 16px !important;

  color: var(--text) !important;
  background: var(--surface) !important;

  border: 2px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;

  box-shadow: none !important;
  outline: none !important;

  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;

  transition:
    border-color .2s ease,
    box-shadow .2s ease,
    background .2s ease !important;
}

#forminator-module-337 textarea,
#forminator-module-337 .forminator-textarea{
  min-height: 130px !important;
  resize: vertical;
}

#forminator-module-337 input::placeholder,
#forminator-module-337 textarea::placeholder{
  color: var(--text-soft) !important;
  opacity: .75 !important;
  font-weight: 400 !important;
}

/* Focus */
#forminator-module-337 input:focus,
#forminator-module-337 textarea:focus,
#forminator-module-337 select:focus,
#forminator-module-337 .forminator-input:focus,
#forminator-module-337 .forminator-textarea:focus{
  background: var(--surface) !important;
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent) !important;
}

/* Radio / checkbox */
#forminator-module-337 .forminator-radio,
#forminator-module-337 .forminator-checkbox{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;

  padding: 14px 16px !important;
  background: var(--surface) !important;

  border: 2px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;

  transition:
    border-color .2s ease,
    box-shadow .2s ease,
    background .2s ease !important;
}

#forminator-module-337 .forminator-radio:hover,
#forminator-module-337 .forminator-checkbox:hover{
  border-color: var(--border-strong) !important;
  box-shadow: var(--shadow-sm) !important;
}

#forminator-module-337 .forminator-radio-label,
#forminator-module-337 .forminator-checkbox-label{
  color: var(--text) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* Erreurs */
#forminator-module-337 .forminator-error-message{
  margin-top: 7px !important;
  padding: 0 !important;
  color: #dc2626 !important;
  background: transparent !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* Messages globaux */
#forminator-module-337 .forminator-response-message{
  margin-bottom: 20px !important;
  padding: 16px 18px !important;

  color: var(--text) !important;
  background: var(--surface-soft) !important;

  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-sm) !important;
}

/* Footer boutons */
#forminator-module-337 .forminator-pagination-footer{
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-top: 24px !important;
}

/* Boutons */
#forminator-module-337 .forminator-button,
#forminator-module-337 .forminator-button-submit,
#forminator-module-337 .forminator-button-next,
#forminator-module-337 .forminator-button-back{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 50px !important;
  padding: 14px 24px !important;

  border-radius: 14px !important;

  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
  line-height: 1 !important;

  box-shadow: var(--shadow-sm) !important;

  transition:
    transform .18s ease,
    background .22s ease,
    border-color .22s ease,
    box-shadow .22s ease,
    color .2s ease !important;
}

/* Suivant / Envoyer */
#forminator-module-337 .forminator-button-next,
#forminator-module-337 .forminator-button-submit{
  color: #fff !important;
  background: var(--text) !important;
  border: 3px solid var(--text) !important;
}

#forminator-module-337 .forminator-button-next:hover,
#forminator-module-337 .forminator-button-submit:hover{
  background: #020617 !important;
  border-color: #020617 !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow:
    0 8px 20px rgba(34, 161, 238, 0.12),
    0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent) !important;
}

/* Retour */
#forminator-module-337 .forminator-button-back{
  color: var(--text) !important;
  background: rgba(255,255,255,.55) !important;
  border: 3px solid var(--primary) !important;
}

#forminator-module-337 .forminator-button-back:hover{
  background: rgba(255,255,255,.75) !important;
  border-color: var(--accent) !important;
  color: var(--text) !important;
  transform: translateY(-1px);
}

#forminator-module-337 .forminator-pagination-submit{
  display: none !important;
}

.bp-pack-result{
  position: relative;

  margin-top: 48px;
  padding: 48px 32px 32px;

  background: #fff;
  border: 1px solid var(--border);
  border-radius: 24px;

  box-shadow: var(--shadow-md);

  text-align: center;

  overflow: visible;
}

.bp-pack-result__eyebrow,
.bp-pack-result__badge{
  position: absolute;

  top: 0;
  left: 50%;

  transform: translate(-50%, -50%);

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 10px 18px;

  border-radius: 999px;

  background: color-mix(
    in srgb,
    var(--primary) 12%,
    white
  );

  color: var(--primary);

  font-size: 12px;
  font-weight: 700;

  letter-spacing: .08em;
  text-transform: uppercase;

  line-height: 1;
  white-space: nowrap;

  z-index: 10;
}

.bp-pack-result h3{
  margin: 0 0 12px;

  color: var(--text);

  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;

  letter-spacing: -.05em;
  line-height: .95;
}

.bp-pack-result p{
  max-width: 600px;
  margin: 0 auto;

  color: var(--text-soft);

  font-size: 15px;
  line-height: 1.6;
}

.bp-pack-result__score{
  margin-top: 16px !important;
  font-size: 13px !important;
  color: var(--text-soft) !important;
  opacity: .7;
}

/* Responsive */
@media (max-width: 767px){

  form#forminator-module-337.forminator-ui.forminator-custom-form.forminator-design--default .forminator-subtitle,
  #forminator-module-337.forminator-design--default .forminator-subtitle,
  #forminator-module-337 .forminator-description{
    margin-bottom: 16px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .bp-pack-result{
    margin-top: 40px;
    padding: 40px 18px 24px;
    border-radius: 20px;
  }

  .bp-pack-result__eyebrow,
  .bp-pack-result__badge{
    padding: 8px 14px;
    font-size: 11px;
  }

  .bp-pack-result h3{
    font-size: clamp(1.8rem, 10vw, 2.5rem);
  }


  #forminator-module-337{
    padding: 18px;
    border-radius: 22px !important;
  }

  #forminator-module-337 .forminator-col{
    padding: 0 !important;
  }

  #forminator-module-337 input,
  #forminator-module-337 textarea,
  #forminator-module-337 select,
  #forminator-module-337 .forminator-input,
  #forminator-module-337 .forminator-textarea{
    min-height: 50px !important;
    font-size: 14px !important;
  }

  #forminator-module-337 .forminator-pagination-footer{
    flex-direction: column-reverse !important;
  }

  #forminator-module-337 .forminator-button,
  #forminator-module-337 .forminator-button-submit,
  #forminator-module-337 .forminator-button-next,
  #forminator-module-337 .forminator-button-back{
    width: 100% !important;
  }
}

