.elementor-25 .elementor-element.elementor-element-ecbbf5e{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-25 .elementor-element.elementor-element-2b8bb5c8{--display:flex;}.elementor-25 .elementor-element.elementor-element-2b8bb5c8.e-con{--align-self:center;}.elementor-25 .elementor-element.elementor-element-511ad2d6.elementor-element{--align-self:center;}.elementor-25 .elementor-element.elementor-element-69ab09e{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;}@media(min-width:768px){.elementor-25 .elementor-element.elementor-element-2b8bb5c8{--content-width:1600px;}}@media(max-width:1024px){.elementor-25 .elementor-element.elementor-element-ecbbf5e{--grid-auto-flow:row;}.elementor-25 .elementor-element.elementor-element-69ab09e{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-25 .elementor-element.elementor-element-ecbbf5e{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;}.elementor-25 .elementor-element.elementor-element-69ab09e{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for container, class: .elementor-element-2b8bb5c8 *//* Reset minimal */
html, body {
  height: 100%;
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Conteneur centré (Flexbox) */
.container {
  display: flex;
  justify-content: center; /* centre horizontal */
  align-items: center;     /* centre vertical */
  min-height: 100vh;       /* occupe la fenêtre (ajustable si header présent) */
  padding: 24px;           /* espace autour pour petits écrans */
  box-sizing: border-box;
}

/* Élément qui contient le shortcode */
.item {
  width: 100%;
  max-width: 420px;        /* largeur maximale sur grand écran */
  background: #fff;        /* couleur de fond optionnelle */
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
  padding: 18px;
  box-sizing: border-box;
  text-align: center;
}

/* Cibler des éléments typiques générés par le shortcode
   (ajustez les sélecteurs si le rendu réel diffère) */
.item select,
.item .ihc-select-level,
.item input,
.item .ihc-wrapper,
.item .ihc-field {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  font-size: 1rem;
  padding: 10px 12px;
  border: 1px solid #dcdcdc;
  border-radius: 8px;
  background: #fafafa;
  color: #111;
}

/* Focus visible pour accessibilité */
.item select:focus,
.item input:focus,
.item .ihc-select-level:focus {
  outline: 3px solid rgba(21,156,228,0.18);
  outline-offset: 2px;
  border-color: #159ce4;
}

/* Texte d’aide / labels */
.item label,
.item .ihc-label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  font-size: 0.95rem;
  color: #222;
}

/* Boutons éventuels */
.item button,
.item .ihc-button {
  display: inline-block;
  width: 100%;
  padding: 12px 14px;
  margin-top: 12px;
  border: none;
  border-radius: 8px;
  background: #159ce4;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}

/* Réduire l'ombre et la taille sur très petits écrans */
@media (max-width: 420px) {
  .container {
    padding: 16px;
    align-items: flex-start; /* si vous préférez que le bloc commence en haut */
    min-height: auto;
  }

  .item {
    padding: 14px;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  }

  .item select,
  .item input,
  .item .ihc-select-level {
    font-size: 0.95rem;
    padding: 10px;
  }

  .item button,
  .item .ihc-button {
    padding: 11px;
    font-size: 0.95rem;
  }
}

/* Tablettes / petits ordinateurs */
@media (min-width: 421px) and (max-width: 900px) {
  .item {
    max-width: 520px;
  }
}

/* Option : centrage horizontal seulement (si vous retirez align-items:center) */
.center-horizontal-only {
  display: block;
  margin-left: auto;
  margin-right: auto;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b8bb5c8 */<style>
  .container {
    display: flex;
    justify-content: center;   /* centre horizontalement */
    align-items: center;       /* centre verticalement */
    height: 100vh;             /* prend toute la hauteur de la page */
  }
</style>/* End custom CSS */