:root_old {
  /* ------------------------------------- */
  /* VARIABLES DE THÈME (FACILE À MODIFIER) */
  /* ------------------------------------- */
  --main-text-color: #000000;
  --primary-brand-color: #0d6efd; 
  
  /* Styles de la Grille et des Cellules */
  --bg-color-grid-area: #D0D8E0;
  --border-color-grid-area: #808080;
  --cell-size: 0.18in;
  --cell-font-size: 0.12in;
  
  /* États des Cellules */
  --cell-border-default: #606060;
  --cell-bg-selected: #FFF1D7;
  --cell-border-selected: #C00000;
  --cell-bg-error: #FFF0F0;
  --cell-text-error: #BF0000;
  --cell-text-cheat: #2080D0;
}
:root {
  /* Texte / thème */
  --main-text-color: #212529;
  --primary-brand-color: #0d6efd;

  /* Grille */
  --bg-color-grid-area: transparent;
  --border-color-grid-area: #ced4da;

  /* Ancien moteur Eclipse */
  --cell-size: 1.65rem;
  --cell-font-size: 1rem;

  /* Nouveau moteur SC@LPA JSON */
  --cw-cell-size: clamp(28px, 2.6vw, 32px);
  --cw-letter-size: clamp(15px, 1.8vw, 18px);
  --cw-number-size: 0.58rem;

  /* États */
  --cell-border-default: #adb5bd;
  --cell-bg-selected: #fff3cd;
  --cell-border-selected: #0d6efd;
  --cell-bg-error: #f8d7da;
  --cell-text-error: #842029;
  --cell-text-cheat: #0d6efd;
}
.global-exo-wrapper {
	
	/*background-color: rgb(var(--bs-white));*/
}
/* Styles CRITIQUES pour le fonctionnement du puzzle (utilisent les variables) */
.ecw-box_old {
  border-style: solid;
  border-width: 1pt;
  cursor: pointer;
  font-size: var(--cell-font-size);
  font-weight: bold;
  height: var(--cell-size);
  overflow: hidden;
  text-align: center;
  width: var(--cell-size);
  color: var(--main-text-color);
}
.ecw-box {
  border: 1px solid var(--cell-border-default);
  cursor: pointer;
  font-size: var(--cell-font-size);
  font-weight: 700;
  height: var(--cell-size);
  width: var(--cell-size);
  min-width: var(--cell-size);
  max-width: var(--cell-size);
  line-height: var(--cell-size);
  overflow: hidden;
  text-align: center;
  vertical-align: middle;
  color: var(--main-text-color);
  background-color: #fff;
}
/* Styles spécifiques au fonctionnement */
.ecw-boxnormal_unsel { background-color: #ffffff; border-color: var(--cell-border-default); }
.ecw-boxnormal_sel { background-color: var(--cell-bg-selected); border-color: var(--cell-border-selected); }

.ecw-boxerror_unsel { background-color: var(--cell-bg-error); border-color: var(--cell-border-default); color: var(--cell-text-error); }
.ecw-boxerror_sel { background-color: var(--cell-bg-selected); border-color: var(--cell-border-selected); color: var(--cell-text-error); }

.ecw-boxcheated_unsel { background-color: #ffffff; border-color: var(--cell-border-default); color: var(--cell-text-cheat); font-style: italic; }
.ecw-boxcheated_sel { background-color: var(--cell-bg-selected); border-color: var(--cell-border-selected); color: var(--cell-text-cheat); font-style: italic; }

/* FIX ESTHÉTIQUE MAJEUR : Forcer le conteneur du puzzle à s'adapter au contenu et à être centré */
.ecw-crosswordarea {
  border-color: var(--border-color-grid-area);
  font-family: "Segoe UI", "Verdana", "Arial", sans-serif;
  font-size: small;
  /* RÈGLES DE CENTRAGE ROBUSTES */
  width: fit-content; 
  max-width: 100%; 
  margin: 0 auto; 
  display: block;
}

.crossword-wrapper {
  display: inline-block;      /* réduit à la largeur du contenu */
  margin: 0 auto;             /* centré */
  border-style: solid;
  border-width: 2px;
  border-radius: .5rem;       /* optionnel : arrondi moderne */
}

.ecw-note{

}

.ecw-wordlabel { 
  text-transform: uppercase; 
  margin: 0; 
  font-size: 1.5rem; 
}

/* Amélioration de la police de l'indice */
#wordclue-text {
  font-weight: 500;
  font-size: 1.1rem;
}

#crossword {
  border-collapse: collapse;
}