/* Menu du footer */
.menu-footer a {
    color: white;
    text-decoration: none;
    position: relative;
    display: inline-block; /* nécessaire pour bien placer l'animation */
    padding-bottom: 2px; /* un peu d'espace pour la ligne */
}

.menu-footer a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0%;
    height: 2px;
    background-color: white;
    transition: width 0.3s ease;
}

.menu-footer a:hover::after {
    width: 100%;
}

/* Menu polylang */
.widget_nav_menu a {
  font-size: 1.1rem;
  text-decoration: none;
  position: relative;
  color: inherit; /* hérite la couleur du thème */
  transition: color 0.3s ease; /* transition douce sur la couleur du texte */
}

.widget_nav_menu a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 0;
  background-color: currentColor;
  transition: width 0.3s ease;
}

.widget_nav_menu a:hover,
.widget_nav_menu a:focus {
  color: #1A698C; /* <-- maintenant la couleur du texte change */
}

.widget_nav_menu a:hover::after,
.widget_nav_menu a:focus::after {
  width: 100%; /* le soulignement s’anime */
}

/* liens dans les paragraphes et dans les listes */
p a,
li a {
  position: relative;
  text-decoration: none;
  color: #1A698C;
}

p a::after,
li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  width: 0;
  background-color: currentColor;
  transition: width 0.3s ease;
}

p a:hover::after,
li a:hover::after {
  width: 100%; /* l'underline glisse sous le texte */
}

/* Gestion des images à même le texte + contournement */
figure.wp-block-image.image-top-right,
figure.wp-block-image.image-top-left {
  vertical-align: text-top !important;  /* force alignement sur le haut de la ligne */
  margin-bottom: 0rem !important;
}

figure.wp-block-image.image-top-right {
    margin-left: 1rem !important;
    margin-right: 0 !important;
}

figure.wp-block-image.image-top-left {
    margin-left: 0 !important;
    margin-right: 1rem !important;
}

/* =========================
   Contenu étroit (lecture confortable)
   ========================= */
.mid-content-width {
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
  /* border: 2px solid green; */
}

/* Desktop et tablettes larges : largeur limitée */
@media (min-width: 768px) {
  .mid-content-width {
    max-width: clamp(40ch, 70%, 75ch);
  }
}

/* Mobile : largeur presque complète */
@media (max-width: 767px) {
  .mid-content-width {
    max-width: 100%;
  }
}

/* =========================
   Contenu large (full width)
   ========================= */
.wide-content-width {
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
  max-width: 100%;
}

/* Enlever les pourcentages des horizontal progress bars de Qi Blocks */
.qodef-m-value-inner {
    display: none !important;
}

/* Un peu de padding pour les horizontal progress bars de Qi Blocks */
.wp-block-qi-blocks-progress-bar-horizontal .qodef-m-inner {
	margin-bottom: 20px !important;
}
.qodef-m-title {
    margin-bottom: 2px !important; /* diminue l’espace sous le titre */
}

/* pour mettre les h1 et h2 bleus et bold */
h1, h2 {
	font-weight: 900
}

/* CSS pour la ligne de copyright */
.footer-text {
  font-size: 0.9rem;
}

/* CSS EXPERIENCES */
.experience-table {
  font-size: 0.95rem; 
}
.experience-table td strong {
  font-weight: 900;
}
.experience-table,
.experience-table th,
.experience-table td {
  border: none;
}

/* Alternance des lignes */
.experience-table tr:nth-child(odd) {
  background-color: #E1E8EB;
}
.experience-table tr:nth-child(even) {
  background-color: #ffffff; 
}
.experience-table {
  width: 100%;
}
.experience-table td:nth-child(1) {
  width: 34%;
}

.experience-table td:nth-child(2) {
  width: 16%;
  text-align: center;
}
.experience-table td:nth-child(3) {
  width: 50%;
}

/* ============================= */
/* CONTACT FORM 7 – PC PORTAL CSS (version thème) */
/* ============================= */

.wpcf7 form label,
.wpcf7 .wpcf7-list-item label,
.wpcf7 .wpcf7-validation-errors,
.wpcf7 .wpcf7-not-valid-tip,
.wpcf7 .wpcf7-mail-sent-ok {
    font-weight: 900 !important;
}

/* Conteneur général du formulaire */
.wpcf7 form {
  max-width: 700px;
  margin: 2rem auto;
  padding: 2rem;
  background-color: #f9f9f9;
  border-radius: 1rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  font-size: 1rem;
}

/* Labels – plus gras et uniformes */
.wpcf7 form label {
  display: block !important;
  width: 100% !important;
  margin-bottom: 0.3rem;
  font-weight: 900; /* gras prononcé */
  line-height: 1.4;
  font-size: 1.2rem !important;
}

/* Paragraphes dans le formulaire */
.wpcf7 form p {
  margin-bottom: 1rem;
  font-size: 1rem;
}

/* Champs texte / email / textarea */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
  display: block;
  width: 100%;
  max-width: 600px;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  border: 1px solid #ccc;
  border-radius: 0.5rem;
  background-color: #fff;
  transition: all 0.2s ease-in-out;
  margin-bottom: 1rem;
  box-sizing: border-box;
}

/* Champ de fichier */
.wpcf7 input[type="file"] {
  display: block;
  width: 100%;
  padding: 0.5rem 0;
  font-size: 0.95rem;
  border: none;
  margin-bottom: 1rem;
  box-sizing: border-box;
}

/* Focus sur champs */
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 textarea:focus {
  border-color: #0073aa;
  box-shadow: 0 0 0 3px rgba(0,115,170,0.2);
  outline: none;
}

/* Bouton Submit */
.wpcf7 input[type="submit"] {
  background-color: #0073aa;
  color: white;
  font-size: 1rem;
  font-weight: 900;
  padding: 0.75rem 2rem;
  border: none;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out, transform 0.1s ease-in-out;
  display: inline-block;
  margin-top: 0.5rem;
}
.wpcf7 input[type="submit"]:hover { background-color: #005f8d; transform: translateY(-2px); }
.wpcf7 input[type="submit"]:active { transform: translateY(0); }

/* Messages de validation / erreurs – coins arrondis et padding généreux */
.wpcf7 .wpcf7-validation-errors,
.wpcf7 .wpcf7-not-valid-tip {
  background-color: #fff5f5;
  border: 1px solid #dc3232;
  color: #dc3232;
  font-size: 0.95rem;
  font-style: italic;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  display: block;
  line-height: 1.4;
  font-weight: 900; 
}

/* Messages CF7 de succès */
.wpcf7 .wpcf7-mail-sent-ok {
  background-color: #e6ffed;
  border:1px solid #46b450;
  color:#008000;
  padding:0.75rem 1rem;
  border-radius:0.5rem;
  font-weight:900;
}

.wpcf7 .wpcf7-list-item {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.wpcf7 .wpcf7-list-item input[type="checkbox"],
.wpcf7 .wpcf7-list-item input[type="radio"] {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  cursor: pointer;
}
.wpcf7 .wpcf7-list-item label {
  display: inline-block;
  margin: 0;
  font-size: 1rem;
  line-height: 1.4;
  font-weight: 900;
  cursor: pointer;
}

/* Groupes conditionnels */
.wpcf7 .wpcf7-group {
  margin: 0 0 1rem 0;
}

/* Notes et instructions */
.pc-note {
  font-style: italic;
  font-size: 0.9rem;
  margin: 0.5rem 0;
}

/* Date et heure sur la même ligne */
.pc-delivery-fields {
  display: flex;
  gap: 10px;
  align-items: center;
}
.wpcf7 input[type="date"] { max-width: 150px; }

/* Champs invalides HTML5 / erreurs */
.wpcf7 input:invalid,
.wpcf7 textarea:invalid,
.wpcf7 select:invalid {
  border-color: #dc3232;
  box-shadow: 0 0 0 3px rgba(220,50,50,0.2);
  background-color: #fff5f5;
}

.wpcf7 input:invalid:focus,
.wpcf7 textarea:invalid:focus,
.wpcf7 select:invalid:focus {
  border-color: #dc3232;
  box-shadow: 0 0 0 3px rgba(220,50,50,0.4);
}

/* ============================= */
/* Select / menus déroulants – amélioration de l'apparence */
/* ============================= */

.wpcf7 select {
    display: block;
    width: 100%;
    max-width: 600px;        /* aligné avec les champs texte/email/textarea */
    padding: 0.75rem 1rem;   /* plus d’espace intérieur */
    font-size: 1rem;
    border: 1px solid #ccc;
    border-radius: 0.5rem;   /* coins arrondis */
    background-color: #fff;
    box-sizing: border-box;
    margin-bottom: 1rem;     /* espace sous le champ */
    appearance: none;        /* enlève l’apparence native par défaut */
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
}

/* Focus sur les select */
.wpcf7 select:focus {
    border-color: #0073aa;
    box-shadow: 0 0 0 3px rgba(0,115,170,0.2);
    outline: none;
}

/* Options internes du select (padding et lisibilité) */
.wpcf7 select option {
    padding: 0.5rem 1rem;
    font-size: 1rem;
}

/* ============================= */
/* Champ date – harmonisation avec les autres champs */
/* ============================= */

.wpcf7 input[type="date"] {
    display: block;
    width: 100%;
    max-width: 600px;       /* même largeur que texte/email/textarea */
    padding: 0.75rem 1rem;  /* même padding */
    font-size: 1rem;
    border: 1px solid #ccc;
    border-radius: 0.5rem;  /* coins arrondis comme les autres champs */
    background-color: #fff;
    box-sizing: border-box;
    margin-bottom: 1rem;
    cursor: pointer;
    appearance: none;       /* enlève les styles natifs */
    -webkit-appearance: none;
    -moz-appearance: none;
}

/* Focus sur le champ date */
.wpcf7 input[type="date"]:focus {
    border-color: #0073aa;
    box-shadow: 0 0 0 3px rgba(0,115,170,0.2);
    outline: none;
}

/* ============================= */
/* Message de succès CF7 – moderne et animé */
/* ============================= */

/* Masquer le message tant qu’il est vide */
.wpcf7 .wpcf7-response-output:empty {
    display: none !important;
}

/* Style général du message de succès */
.wpcf7 .wpcf7-response-output {
    display: block !important;
    background: linear-gradient(135deg, #e6ffed 0%, #c1f0c1 100%) !important;
    border: 1px solid #46b450 !important;
    color: #046000 !important;
    padding: 1rem 1.5rem !important;
    border-radius: 1rem !important;
    font-weight: 900 !important;
    font-size: 1.1rem !important;
    line-height: 1.5 !important;
    text-align: center !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    margin: 1rem 0 !important;
    

/* Dès que le div contient du texte, le faire apparaître */
.wpcf7 .wpcf7-response-output:not(:empty) {
    opacity: 1 !important;
    transform: translateY(0) !important;
}