.gbe-header{
  align-items: flex-start !important; /* au lieu de center */
}

.gbe-header .gbe-btn--logout{
  align-self: flex-start !important;  /* sécurité */
}

.gbe-header-left{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.gbe-submitted-date{
 
  font-weight: 600;
  margin-bottom: 20px;
 
 
}


/* Pleine largeur dans le conteneur Elementor */

.gbe-h4-row{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.gbe-h4-row .gbe-h4-title{
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 19px !important;
  font-family: inherit !important;
}

.gbe-h4-row .gbe-h4-required{
  display: inline-block !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 19px !important;
  font-family: inherit !important;
  color: #c02b0a !important;
  white-space: nowrap !important;
}

.gform-theme--framework h2.gform_submission_error{
  font-size: 18px !important;
}

.gbe-wrap {
  width: 100%;
}


.gform-theme--framework .gbe-h4-required{ visibility:visible !important; opacity:1 !important; }

/* Layout des filtres (row) */
.gbe-filters{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  align-items: flex-end !important;
  width: 100% !important;
  margin-bottom:20px!important;
}

@media (max-width: 767px){
  .gbe-filters{
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important; /* ajuste au goût */
  }
  .gbe-filters label{
    flex: 1 1 auto !important;   /* ou 100% */
    width: 100% !important;
    margin: 0 !important;
  }
}

.gbe-filters label{
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-weight: 600;
  font-size: 13px;
  color: var(--e-global-color-text, #252525);

  /* ✅ chaque filtre prend une colonne et peut s’étirer */
  flex: 1 1 260px;
  max-width: none;
}

/* Champ texte (Recherche) */
.gbe-filters input[type="text"]{
  padding: 14px 18px !important;
  color: var(--e-global-color-text, #252525) !important;
  border: 2px solid #252525 !important;
  border-radius: 40px !important;
  background: #fff !important;
  box-sizing: border-box !important;
 width: 100% !important;
max-width: none !important;
}

/* Select (Année + Type de bourse) — même style + flèche */
.gbe-filters select{
  padding: 14px 52px 14px 18px !important; /* + de place à droite pour la flèche */
  color: var(--e-global-color-text, #252525) !important;
  border: 2px solid #252525 !important;
  border-radius: 40px !important;
  background-color: #fff !important;
  box-sizing: border-box !important;
  width: 100% !important;
max-width: none !important;

  -webkit-appearance: none;
  appearance: none;

  /* flèche SVG */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath fill='%23252525' d='M1.2 1.4 7 7.2l5.8-5.8L14 2.6 7 9.6 0 2.6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 20px center; /* flèche un peu plus à gauche */
  background-size: 14px 10px;
}

/* Focus/active (même bleu #2c337d) */
.gbe-filters select:focus,
.gbe-filters input[type="text"]:focus{
  outline: none !important;
  border-color: #2c337d !important;
  box-shadow: 0 0 0 3px rgba(44, 51, 125, 0.20) !important;
}

/* Bouton Filtrer (même style que boutons GF, mais en bleu) */
.gbe-filters button[type="submit"]{
  background-color: #2c337d !important;
  color: #fff !important;
  flex: 0 0 auto !important;
  font-weight: 700 !important;
  padding: 20px 18px !important;
  line-height: 1 !important;
  border-radius: 100px !important;
  border: none !important;
  cursor: pointer !important;
  margin: 0 !important;
  box-shadow: none !important;
}

.gbe-filters button[type="submit"]:hover{
  filter: brightness(0.95);
}

/* Tableau pleine largeur */
.gbe-table {
  width: 100% !important;
  table-layout: auto;
}

/* Colonne Actions : boutons empilés */
.gbe-actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* Boutons actions (même bleu #2c337d) */
.gbe-btn {
  display: inline-block;
  text-align: center;
  text-decoration: none !important;
  color: #fff !important;
  background: #2c337d !important;
  border-radius: 100px !important;
  padding: 11.3px !important;
  font-weight: 700 !important;
  font-size: 12px;
  white-space: nowrap;
  border: none !important;
  box-shadow: none !important;
}

.gbe-btn:hover { filter: brightness(0.95); }

/* Variante Drive (même bleu, identique) */
.gbe-btn--drive {
  background: #2c337d !important;
  color: #fff !important;
}

/* Page fiche complète */
.gbe-card {
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  padding: 12px;
  margin: 10px 0;
  background: #fff;
}

.gbe-h2 {
  margin: 0 0 10px 0;
  font-size: 20px;
}

.gbe-h3 {
  margin: 0 0 8px 0;
  font-size: 16px;
}

.gbe-h4 {
  margin: 12px 0 0px 0;
  font-size: 14px;
  font-weight:500;
}

.gbe-table-compact {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #e5e5e5;
}
.gbe-table-compact td {
  padding: 8px 10px;
  border-bottom: 1px solid #e5e5e5;
  vertical-align: top;
}
.gbe-table-compact tr:last-child td {
  border-bottom: none;
}
.gbe-td-label {
  width: 32%;
  background: #f7f7f7;
  font-weight: 600;
}

.gbe-box {
  background: #f7f7f7;
  border-radius: 8px;
  padding: 10px;
}

.gbe-doclink {
  margin: 0 0 6px 0;
}
.gbe-doclink a {
  text-decoration: underline;
}

/* Documents: liste multiple dans la carte */
.gbe-doc-count{
  font-size: 12px;
  font-weight: 700;
  color: #666;
  margin: 0 0 8px 0;
}

.gbe-doc-list{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* lien déjà stylé, on garde mais on le rend “compact” */
.gbe-doc-link{
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none !important;
  font-weight: 700;
  color: #2c337d !important;
  word-break: break-word;
}

/* optionnel: léger séparateur visuel */
.gbe-doc-link + .gbe-doc-link{
  padding-top: 6px;
  border-top: 1px solid #eee;
}

/* Select: ajouter du padding à droite pour éloigner la flèche du bord */
.gbe-filters select{
  padding-right: 44px !important; /* augmente l’espace à droite */
}

/* Selon navigateur: ajuster légèrement la position de la flèche (WebKit) */
.gbe-filters select{
  -webkit-appearance: none;
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #252525 50%),
    linear-gradient(135deg, #252525 50%, transparent 50%);
  background-position:
    calc(100% - 22px) 55%,
    calc(100% - 16px) 55%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

.gbe-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

/* Desktop / normal : titre à gauche, déconnexion à droite */
.gbe-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

@media (max-width: 767px){
  .gbe-header{
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .gbe-header .gbe-btn--logout{
    order: 1;
    width: auto;
    max-width: 50%;
    margin-left: auto;   /* ✅ pousse à droite */
    text-align: center;
  }

  .gbe-header h2,
  .gbe-header .gbe-h2{
    order: 2;
    width: 100%;
    margin: 0;
  }
}

.gbe-btn--logout{
  background:#2c337d !important; /* même bleu */
}

/* Centrer le contenu des cellules texte */
table.gbe-table td{
  text-align: center;
  vertical-align: middle;
}

/* Colonne Actions : boutons pleine largeur, identiques */
table.gbe-table td .gbe-actions{
  align-items: stretch; /* ✅ pas center */
  width: 100%;
}

table.gbe-table td .gbe-actions .gbe-btn{
  display: block;
  width: 100%;
}

/* Tableau: coins arrondis comme les boutons */
table.gbe-table{
  border-radius: 26px;          /* même radius que tes boutons */
  overflow: hidden;              /* essentiel pour couper les coins */
  border-collapse: separate;     /* nécessaire pour que le radius soit visible */
  border-spacing: 0;             /* pas d’espacement entre cellules */
}

/* Wrapper */
.gbe-table-shell{
  border: 1px solid #e5e5e5;
  border-radius: 26px;
  overflow: hidden;
  width: 100%;
  background: #fff;            /* ✅ évite l'espace “vide” visible */
}

/* Table inside */
.gbe-table-shell table.gbe-table{
  width: 100% !important;
  margin: 0 !important;        /* ✅ supprime marge table */
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;/* ✅ pas d’espace entre cellules */
  background: #fff;            /* ✅ même fond que le wrapper */
}

/* Si WordPress ajoute un background alterné, on garde, mais on évite les “trous” */
.gbe-table-shell table.gbe-table tbody tr td{
  background-clip: padding-box;
}

/* ✅ Coins arrondis sur la DERNIÈRE rangée */
.gbe-table-shell table.gbe-table tbody tr:last-child td:first-child{
  border-bottom-left-radius: 26px;
}
.gbe-table-shell table.gbe-table tbody tr:last-child td:last-child{
  border-bottom-right-radius: 26px;
}

/* ✅ Coins arrondis sur la PREMIÈRE rangée (souvent déjà OK, mais on sécurise) */
.gbe-table-shell table.gbe-table thead tr:first-child th:first-child{
  border-top-left-radius: 26px;
}
.gbe-table-shell table.gbe-table thead tr:first-child th:last-child{
  border-top-right-radius: 26px;
}

/* Entête du tableau: fond noir + texte blanc */
.gbe-table-shell table.gbe-table thead th{
  background: #000 !important;
  color: #fff !important;
}

/* Optionnel: liens/texte dans l'entête (au cas où) */
.gbe-table-shell table.gbe-table thead th a{
  color: #fff !important;
}

.gbe-pagination{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:center;
  margin-top: 14px;
}

.gbe-pagebtn{
  display:inline-block;
  padding: 10px 14px;
  border-radius: 100px;
  background: #fff;
  border: 2px solid #252525;
  text-decoration:none !important;
  color: #252525 !important;
  font-weight: 700;
}

.gbe-pagebtn.is-active{
  background: #2c337d;
  border-color: #2c337d;
  color: #fff !important;
}

.gbe-pagebtn.is-disabled{
  opacity: 0.4;
  pointer-events:none;
}

.gbe-ellipsis{
  display:inline-flex;
  align-items:center;
  padding: 0 4px;
  font-weight: 700;
}

/* ✅ Scroll horizontal sur mobile (et petits écrans) */
.gbe-table-shell{
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* iOS smooth */
}

/* Empêche le tableau de se compresser trop */
.gbe-table{
  min-width: 900px; /* ajuste au besoin (800-1100) */
  width: 100%;
}

/* (Optionnel) évite des retours à la ligne qui cassent tout */
.gbe-table th,
.gbe-table td{
  white-space: nowrap;
}

/* Supprimer = rouge */
.gbe-btn--danger{
  background: #d11a2a !important;
}

/* Bouton secondaire (corbeille) */
.gbe-btn--secondary{
  background: #221f20 !important;
  color: #fff !important;
}

/* Bouton Restaurer (vert) */
.gbe-btn.gbe-btn--restore{
  background: #22c55e !important;
  color: #fff!important;
  border-color: #22c55e!important;
}

.gbe-btn.gbe-btn--restore:hover{
  background: #16a34a!important;
  border-color: #16a34a!important;
  color: #fff!important;
}

/* Zone toggle sous le tableau */
.gbe-trash-toggle{
  margin-top: 12px;
  display: flex;
  justify-content: flex-end;
}

/* =========================
   FICHE COMPLÈTE — Tables (Résumé / Admissibilité / Parcours / Soutien)
   Même style que le tableau principal
   ========================= */

/* Wrapper visuel “table shell” directement sur .gbe-table-compact */
.gbe-card .gbe-table-compact{
  width: 100%;
  margin: 0 !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 26px !important;
  overflow: hidden;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #fff;
}

/* Cellules */
.gbe-card .gbe-table-compact td{
  padding: 12px 14px !important;
  border-bottom: 1px solid #e5e5e5 !important;
  vertical-align: middle;
}

/* Dernière rangée: pas de bordure bas */
.gbe-card .gbe-table-compact tr:last-child td{
  border-bottom: none !important;
}

/* Colonne gauche = “header noir / texte blanc” (comme tu veux) */
.gbe-card .gbe-table-compact td.gbe-td-label{
  background: #000 !important;
  color: #fff !important;
  font-weight: 700 !important;
  width: 32%;
}

/* Colonne droite (valeur) = même look que tableau principal */
.gbe-card .gbe-table-compact td:not(.gbe-td-label){
  background: #fff !important;
  color: var(--e-global-color-text, #252525) !important;
  font-weight: 600;
}

/* Effet “striped” sur la colonne droite uniquement (optionnel mais beau) */
.gbe-card .gbe-table-compact tr:nth-child(odd) td:not(.gbe-td-label){
  background: #f6f6f6 !important;
}

/* Coins arrondis (assure les 4 coins visibles) */
.gbe-card .gbe-table-compact tr:first-child td.gbe-td-label{ border-top-left-radius: 26px; }
.gbe-card .gbe-table-compact tr:first-child td:last-child{ border-top-right-radius: 26px; }
.gbe-card .gbe-table-compact tr:last-child td.gbe-td-label{ border-bottom-left-radius: 26px; }
.gbe-card .gbe-table-compact tr:last-child td:last-child{ border-bottom-right-radius: 26px; }

/* Fiche complète — bordure nette (overlay), évite le “fade” du bas */
.gbe-card .gbe-table-compact{
  width: 100%;
  margin: 0 !important;

  /* On enlève toute bordure “native” */
  border: 0 !important;
  box-shadow: none !important;

  /* Coins + découpe */
  border-radius: 26px !important;
  overflow: hidden;

  /* Table layout */
  border-collapse: separate !important;
  border-spacing: 0 !important;

  /* Nécessaire pour l’overlay */
  position: relative;
  background: #fff;
}

/* L’overlay qui dessine la bordure parfaite */
.gbe-card .gbe-table-compact::after{
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid #e5e5e5;
  border-radius: 26px;
  pointer-events: none;
}

/* Séparateurs internes (lignes) */
.gbe-card .gbe-table-compact td{
  border-bottom: 1px solid #e5e5e5 !important;
  vertical-align: middle;
}

/* Pas de double ligne sur la dernière rangée */
.gbe-card .gbe-table-compact tr:last-child td{
  border-bottom: none !important;
}

/* Valeurs & engagement — mêmes coins/bordure que les tableaux */
.gbe-box{
  position: relative;
  background: #fff !important;
  border-radius: 26px !important;
  padding: 12px 14px !important;
  overflow: hidden;
}

/* Bordure nette en overlay (évite les “fade”) */
.gbe-box::after{
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid #e5e5e5;
  border-radius: 26px;
  pointer-events: none;
}

/* Texte à l’intérieur (lisibilité) */
.gbe-box *{
  position: relative; /* reste au-dessus de l’overlay */
}

/* =========================
   Documents (Drive) — grille de cartes
   ========================= */

.gbe-doc-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 10px;
}

/* Mobile/tablette: 2 colonnes puis 1 colonne */
@media (max-width: 1024px){
  .gbe-doc-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px){
  .gbe-doc-grid{ grid-template-columns: 1fr; }
}

.gbe-doc-card{
  border: 2px solid #e5e5e5;
  border-radius: 26px;
  background: #fff;
  padding: 12px 14px;
}

.gbe-doc-title{
  font-weight: 700;
  margin: 0 0 8px 0;
  color: var(--e-global-color-text, #252525);
  font-size: 14px;
}

.gbe-doc-link{
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none !important;
  font-weight: 700;
  color: #2c337d !important;
  word-break: break-word;
}

.gbe-doc-link:hover{
  filter: brightness(0.95);
}

.gbe-drive-icon{
  display: inline-flex;
  flex: 0 0 auto;
}

.gbe-doc-empty{
  color: #666;
}

/* Bouton avec icône à droite */
.gbe-btn--with-icon{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

/* Icône dans bouton : un peu plus “propre” */
.gbe-drive-icon--btn{
  display: inline-flex;
  align-items: center;
}

.gbe-drive-icon--btn svg{
  display: block;
}

/* ===== Login GBE — même style que Gravity Forms / filtres GBE ===== */
#gbe-loginform { max-width: 420px; }

#gbe-loginform p { margin: 8px 0; }

/* Login GBE — labels = typo "Paragraph/Text" d’Elementor */
#gbe-loginform label{
  font-size: var(--e-global-typography-text-font-size, 16px) !important;
  line-height: var(--e-global-typography-text-line-height, 1.4) !important;
  font-family: var(--e-global-typography-text-font-family, inherit) !important;
  font-weight: bold !important;
  color: var(--e-global-color-text, #252525) !important;
}

#gbe-loginform input[type="text"],
#gbe-loginform input[type="password"]{
  width: 100%;
  padding: 14px 18px !important; /* ✅ plus “normal” */
  color: var(--e-global-color-text, #252525) !important;
  border: 2px solid #252525 !important;
  border-radius: 40px !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

/* Bouton login (même style que boutons GBE) */
#gbe-loginform input[type="submit"]{
  margin-top: 6px;
  background-color: #231F20 !important;
  color: #fff !important;
  font-weight: 700 !important;
  padding: 11.3px !important;
  border-radius: 100px !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

#gbe-loginform input[type="submit"]:hover{
  filter: brightness(0.95);
}

/* Optionnel: focus */
#gbe-loginform input[type="text"]:focus,
#gbe-loginform input[type="password"]:focus{
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(191, 236, 236, 0.55) !important;
}

/* ===== Login GBE — checkbox "Se souvenir de moi" style GF ===== */

/* Cache le input natif */
#gbe-loginform .login-remember input[type="checkbox"]{
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Le label devient le "contrôle" */
#gbe-loginform .login-remember label{
  position: relative;
  display: inline-block;
  padding-left: 34px; /* place pour le cercle */
  cursor: pointer;
  user-select: none;
}

/* Cercle */
#gbe-loginform .login-remember label:before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  border: 2px solid var(--e-global-color-text, #252525);
  border-radius: 0px;
  background: #fff;
  box-sizing: border-box;
}

/* Checkmark (caché par défaut) */
#gbe-loginform .login-remember label:after{
  content: "✓";
  position: absolute;
  left: 0;
  top: 50%;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  text-align: center;
  font-weight: 700;
  font-size: 13px;
  line-height: 24px;
  color: transparent;
}

/* Quand c’est coché */
#gbe-loginform .login-remember input[type="checkbox"]:checked + label:before,
#gbe-loginform .login-remember label input[type="checkbox"]:checked + span:before{
  background: var(--e-global-color-accent, #bfecec);
  border-color: var(--e-global-color-text, #252525);
}

/* ✅ Pattern réel (input à l’intérieur du label) */
#gbe-loginform .login-remember label input[type="checkbox"]:checked ~ *{}

/* Le vrai sélecteur fonctionnel (input est DANS label) */
#gbe-loginform .login-remember label:has(input[type="checkbox"]:checked):before{
  background: var(--e-global-color-accent, #bfecec);
  border-color: var(--e-global-color-text, #252525);
}
#gbe-loginform .login-remember label:has(input[type="checkbox"]:checked):after{
  color: var(--e-global-color-text, #252525);
}



/* Gravity Forms Theme Framework — bloc HTML (titres + texte + listes) */

.gform-theme--framework .gfield.html-fichiers p,
.gform-theme--framework .gfield.html-fichiers li{
  font-size: 14px !important;
  line-height: 17px !important;
  font-weight: 400 !important;
  margin: 0 0 6px 0 !important;
}

/* Liste propre (optionnel, mais souvent utile) */
.gform-theme--framework .gfield.html-fichiers ul{
  margin: 0 0 6px 18px !important;
  padding: 0 !important;
}

.gform-theme--framework .gfield.html-fichiers li{
  margin: 0 0 4px 0 !important;
}
   

/* Champs texte / select / textarea */
.gform-theme--framework .gfield input[type="text"],
.gform-theme--framework .gfield input[type="email"],
.gform-theme--framework .gfield input[type="number"],
.gform-theme--framework .gfield input[type="tel"],
.gform-theme--framework .gfield input[type="url"],
.gform-theme--framework .gfield input[type="password"],
.gform-theme--framework .gfield select,
.gform-theme--framework .gfield textarea{
  padding: 25px;
  color: var(--e-global-color-text, #252525);
  border: 2px solid #252525;
  border-radius: 40px;
  background: #fff;
  box-sizing: border-box;
  width: 100%;
}

/* Placeholder (optionnel) */
.gform-theme--framework .gfield ::placeholder{
  color: rgba(37,37,37,0.55);
}

/* Focus */
.gform-theme--framework .gfield input:focus,
.gform-theme--framework .gfield select:focus,
.gform-theme--framework .gfield textarea:focus{
  outline: none;
  box-shadow: 0 0 0 3px rgba(191, 236, 236, 0.55);
  border-color: var(--e-global-color-text, #252525);
}

/* Labels (optionnel, simple) */
.gform-theme--framework .gfield_label{
  color: var(--e-global-color-text, #252525);
  font-weight: 600;
}

/* Boutons (Submit + Next/Prev) */
.gform-theme--framework .gform_button,
.gform-theme--framework .gform_next_button,
.gform-theme--framework .gform_previous_button{
  background-color: var(--e-global-color-text, #252525);
  color: #fff;
  border: 0;
  border-radius: 26px !important;
  padding: 17px 25px 34px 25px;
  font-weight: 600;
  cursor: pointer;
}

/* Hover boutons */
.gform-theme--framework .gform_button:hover,
.gform-theme--framework .gform_next_button:hover,
.gform-theme--framework .gform_previous_button:hover{
  filter: brightness(0.95);
}

/* ============ Radios / Checkboxes (look “pill”) ============ */

/* On cache le input natif */
.gform-theme--framework .gfield_checkbox input[type="checkbox"],
.gform-theme--framework .gfield_radio input[type="radio"]{
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* On prépare le label */
.gform-theme--framework .gfield_checkbox li,
.gform-theme--framework .gfield_radio li{
  position: relative;
}

.gform-theme--framework .gfield_checkbox label,
.gform-theme--framework .gfield_radio label{
  position: relative;
  padding-left: 34px; /* place pour l’icône */
  display: inline-block;
  color: var(--e-global-color-text, #252525);
  font-weight: 600;
}

/* Cercle à gauche (non sélectionné) */
.gform-theme--framework .gfield_checkbox label:before,
.gform-theme--framework .gfield_radio label:before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  border: 2px solid var(--e-global-color-text, #252525);
  border-radius: 100px;
  background: #fff;
  box-sizing: border-box;
}

/* Checkmark (caché par défaut) */
.gform-theme--framework .gfield_checkbox label:after,
.gform-theme--framework .gfield_radio label:after{
  content: "✓";
  position: absolute;
  left: 0;
  top: 50%;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  text-align: center;
  font-weight: 700;
  font-size: 13px;
  line-height: 24px;
  color: transparent;
}

/* État checked: fond accent + check visible */
.gform-theme--framework .gfield_checkbox input[type="checkbox"]:checked + label:before,
.gform-theme--framework .gfield_radio input[type="radio"]:checked + label:before{
  background: var(--e-global-color-accent, #bfecec);
  border-color: var(--e-global-color-text, #252525);
}

.gform-theme--framework .gfield_checkbox input[type="checkbox"]:checked + label:after,
.gform-theme--framework .gfield_radio input[type="radio"]:checked + label:after{
  color: var(--e-global-color-text, #252525);
}

/* Labels principaux Gravity Forms (inclut <legend>) */
.gform-theme--framework .gfield_label,
.gform-theme--framework legend.gfield_label,
.gform-theme--framework .gform-field-label{
  font-size: 16px !important;
  line-height: 19px !important;
}

/* Sous-labels (Prénom/Nom, etc.) */
.gform-theme--framework .ginput_complex label,
.gform-theme--framework .gfield .ginput_container label{
  font-size: 14px !important;
  line-height: 17px !important;
}

/* (Optionnel) Description/aide sous le champ */
.gform-theme--framework .gfield_description{
  font-size: 14px !important;
  line-height: 17px !important;
}

/* Labels des choix (radio/checkbox) — style WPForms */
.gform-theme--framework label.gform-field-label,
.gform-theme--framework .gfield_label,
.gform-theme--framework legend.gfield_label,
.gform-theme--framework .gform-field-label{
  font-size: 16px !important;
  line-height: 19px !important;
}

/* ✅ Spécifique aux labels inline des choix (radio/checkbox) */
.gform-theme--framework .gform-field-label--type-inline{
  font-size: 16px !important;
  line-height: 19px !important;
  font-weight: 400 !important;
  vertical-align: middle;
  word-break: break-word;
  overflow-wrap: break-word;
}

/* Optionnel : espacement comme WPForms (label après l’icône) */
.gform-theme--framework .gfield_radio .gchoice label,
.gform-theme--framework .gfield_checkbox .gchoice label{
  padding-left: 30px; /* équivalent “padding-inline-start: 12px” */
  line-height: 1.3;   /* comme WPForms */
  margin: 0 !important;
}

/* =========================
   Gravity Forms (TOUS) — Boutons Suivant / Précédent / Envoyer
   ========================= */
.gform_wrapper.gform-theme--framework input.gform_next_button.button,
.gform_wrapper.gform-theme--framework input.gform_previous_button.button,
.gform_wrapper.gform-theme--framework input.gform_button.button,
.gform_wrapper.gform-theme--framework button.gform_next_button.button,
.gform_wrapper.gform-theme--framework button.gform_previous_button.button,
.gform_wrapper.gform-theme--framework button.gform_button.button{
  background-color: #221f20 !important;
  color: #fff !important;
  font-weight: 700 !important;
  padding: 11.3px !important;
  border-radius: 100px !important;
  border: none !important;
  cursor: pointer !important;
  margin: 0 !important;
  box-shadow: none !important;
}

/* Hover */
.gform_wrapper.gform-theme--framework input.gform_next_button.button:hover,
.gform_wrapper.gform-theme--framework input.gform_previous_button.button:hover,
.gform_wrapper.gform-theme--framework input.gform_button.button:hover,
.gform_wrapper.gform-theme--framework button.gform_next_button.button:hover,
.gform_wrapper.gform-theme--framework button.gform_previous_button.button:hover,
.gform_wrapper.gform-theme--framework button.gform_button.button:hover{
  filter: brightness(0.95);
}

/* Optionnel: focus */
.gform_wrapper.gform-theme--framework input.gform_next_button.button:focus,
.gform_wrapper.gform-theme--framework input.gform_previous_button.button:focus,
.gform_wrapper.gform-theme--framework input.gform_button.button:focus,
.gform_wrapper.gform-theme--framework button.gform_next_button.button:focus,
.gform_wrapper.gform-theme--framework button.gform_previous_button.button:focus,
.gform_wrapper.gform-theme--framework button.gform_button.button:focus{
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(34,31,32,0.2) !important;
}

/* Progress bar Gravity Forms — bleu personnalisé */
.gform-theme--framework .gf_progressbar .percentbar_blue{
  background-color: #2c337d !important;
}

/* =========================
   Gravity Forms — Bouton "Choisir un fichier" (file upload)
   Même style que Submit/Next/Prev
   ========================= */

/* Cas 1: bouton control du framework */
.gform_wrapper.gform-theme--framework .gform-theme-button--control,
.gform_wrapper.gform-theme--framework .gform-theme-button-control{
  background-color: #221f20 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 100px !important;
  padding: 11.3px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

/* Cas 2: certains uploads rendent un <button> ou <input type="button"> */
.gform_wrapper.gform-theme--framework .gfield input[type="button"].button,
.gform_wrapper.gform-theme--framework .gfield button.button{
  background-color: #221f20 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 100px !important;
  padding: 11.3px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

/* Cas 3: override des variables GF utilisées par ces boutons */
.gform_wrapper.gform-theme--framework{
  --gf-local-bg-color: #221f20;
  --gf-local-border-color: transparent;
  --gf-local-color: #fff;
}

/* Hover */
.gform_wrapper.gform-theme--framework .gform-theme-button--control:hover,
.gform_wrapper.gform-theme--framework .gform-theme-button-control:hover,
.gform_wrapper.gform-theme--framework .gfield input[type="button"].button:hover,
.gform_wrapper.gform-theme--framework .gfield button.button:hover{
  filter: brightness(0.95);
}

/* File upload drop area icon — même bleu que la progress bar */
.gform-theme--framework .gfield:where(.gfield--type-fileupload,.gfield--input-type-fileupload) .gform_drop_area::before{
  color: #2c337d !important;
}

/* (Optionnel) override via variable si GF l’utilise ailleurs */
.gform-theme--framework{
  --gf-ctrl-file-zone-icon-color: #2c337d;
}