.border-12 {
  border-radius: 12px;
}

.margin-auto {
  margin: 0 auto !important;
}

/* Label contenant la case + texte */
.home-politique-label {
  font-size: 0.8rem;
  color: white;
  display: flex;
  align-items: center;
  gap: 0.5em;
  line-height: 1.2;
}

/* Texte de la politique */
.home-politique-texte {
  display: inline-block;
  text-align: left;
  color: white;
}

/* Lien dans le texte */
.home-politique-texte a {
  color: white;
  text-decoration: underline;
}



.home-politique-texte a:hover {
  color: #ccc;
}

.home-politique-texte.tjm1, .home-politique-texte.tjm1 a {
  color: #3500b6;
}
.home-politique-texte.tjm1 a:hover {
  color: #000000;
}

/* General layout for both form rows */
.ref-express-form-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center; /* Align items vertically */
  gap: 1rem;
}

/* Ensure inner columns align their content */
.ref-express-form-row > .wp-block-column {
  display: flex;
  align-items: center;
  flex: 1 1 0%; /* Reprend toute la largeur disponible, comme avant */
  min-width: 0;
}

.ref-express-form-row .wp-block-column > * {
  flex: 1;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 600px) {
  .ref-express-form-row {
    flex-direction: column;
  }

  .ref-express-form-row .wp-block-column {
    width: 100%;
  }
}


.wpcf7-response-output,
.wpcf7-not-valid-tip {
  display: none !important;
}

input[type="text"].wpcf7-not-valid,
input[type="email"].wpcf7-not-valid,
select.wpcf7-not-valid {
  border: 2px solid red !important;
  background-color: #fff0f0;
  transition: border 0.2s ease, background-color 0.2s ease;
}

/* Couleur normale (blanc) */
.home-politique-texte,
.home-politique-texte a {
  color: white;
  transition: color 0.2s ease;
}

/* En cas d’erreur, quand le bloc checkbox reçoit la classe d'erreur */
.home-politique-label:has(.wpcf7-form-control.wpcf7-not-valid) .home-politique-texte,
.home-politique-label:has(.wpcf7-form-control.wpcf7-not-valid) .home-politique-texte a {
  color: red !important;
}

/* Optionnel : bordure rouge sur la case à cocher */
.home-politique-label .wpcf7-form-control.wpcf7-not-valid input[type="checkbox"] {
  outline: 2px solid red;
}

/* Quiz | Bouton sélectionné */
.wp-block-button__link.selected {
  background-color: #ccc;
  color: #666;
  pointer-events: none; /* Empêche de re-cliquer sur le bouton */
}

/* Quiz | Champs texte */
.quiz-form-input {
  box-sizing: border-box; /* Opera/IE 8+ */
  -moz-box-sizing: border-box; /* Firefox, autres Gecko */
  -webkit-box-sizing: border-box; /* Safari/Chrome, autres WebKit */
  padding-top: var(--wp--preset--spacing--30);
  padding-right: var(--wp--preset--spacing--30);
  padding-bottom: var(--wp--preset--spacing--30);
  padding-left: var(--wp--preset--spacing--30);
  font-size: var(--wp--preset--font-size--large);
  border-radius: 12px;
  border: none;
  text-align: center;
  width: 100%;
}

.quiz-form-input.tjm1 {
  height: 50px;
  color: #ffffff;
  background-color: #3500b6;
  padding: 0;
}
.quiz-form-input.tjm1.wpcf7-not-valid {
  border: 2px solid red !important;
  background-color: #3500b6;
  transition: border 0.2s ease, background-color 0.2s ease;
}

.wpcf7-select.tjm1 {
  background-color: #ffffff;
  border: 1px solid #3500b6;
}

/* Quiz | input left à aligner à droite */
.wp-block-column.is-content-justification-right p {
  text-align: right;
}

/* Quiz | spinner bouton envoyer */
.wpcf7-spinner {
  display: none;
}

.quiz-form .wp-block-column {
  flex: 1;
}



.home-politique-label .wpcf7-list-item-label {
  display: none;
}

.wpcf7 form .wpcf7-response-output {
  margin: 0;
  padding: 0;
}

.wpcf7-response-output {
  display: block !important;
  color: #ffffff;
  font-size: 1rem;
  border: none !important;
}
.bg-white .wpcf7-response-output {
  color: #000000;
}

.page-id-203 .wpcf7-response-output { /* TJM */
  color: #000000;
}

.page-id-203 .invalid .wpcf7-response-output { /* TJM */
  color: #ff0000;
}
