/* Cellules A–D (2x16 / 4x8) : lettres plus grandes, portée descendue, largeur inchangée. */
.cell:has(.group-letter),
.cell.special-cell {
  container-type: size;
  overflow: hidden !important;
}
.cell:has(.group-letter) .position,
.cell.special-cell .position {
  font-weight: 400 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  overflow: hidden !important;
  min-height: 0 !important;
  padding: 2px 0 56px !important;
  box-sizing: border-box !important;
}
.cell:has(.group-letter) .group-letter,
.cell.special-cell .group-letter,
body.presentation-2x16 .cell.special-cell .group-letter,
body.presentation-4x8 .cell.special-cell .group-letter,
.cell.active-special-cell .group-letter {
  font-size: clamp(30px, 66cqh, 66px) !important;
  font-weight: 600 !important;
  font-synthesis: none !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
  line-height: 0.85 !important;
  margin: 24px 0 0 0 !important;
  max-height: none !important;
  overflow: visible !important;
  flex: 0 0 auto !important;
  min-height: 0 !important;
}
.cell:has(.group-letter) .speaker-toggle,
.cell.special-cell .speaker-toggle,
.cell.special-cell > .speaker-toggle {
  top: calc(66cqh + 21px) !important;
  aspect-ratio: 100 / 20 !important;
  height: auto !important;
}
.cell:has(.group-letter) .group-controls-row,
.cell.special-cell .group-controls-row {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 4px !important;
  margin: 0 !important;
  display: flex !important;
  justify-content: center !important;
  z-index: 6 !important;
}
.cell:has(.group-letter) .ch-button,
.cell:has(.group-letter) .group-ch-button,
.cell.special-cell .ch-button,
.cell.special-cell .group-ch-button {
  font-size: clamp(14px, 11cqh, 35px) !important;
  padding: 3px 9px !important;
  margin: 0 !important;
  max-width: calc(100% - 6px) !important;
  box-sizing: border-box !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}

/* Petit PC / zoom : pas de superposition lettre / portée / chiffrage */
@media (max-width: 1440px), (max-height: 900px) {
  .cell:has(.group-letter) .group-letter,
  .cell.special-cell .group-letter,
  body.presentation-2x16 .cell.special-cell .group-letter,
  body.presentation-4x8 .cell.special-cell .group-letter {
    font-size: clamp(16px, 36cqh, 36px) !important;
    font-weight: 600 !important;
    margin: 24px 0 0 0 !important;
  }
  .cell:has(.group-letter) .speaker-toggle,
  .cell.special-cell .speaker-toggle,
  .cell.special-cell > .speaker-toggle {
    top: calc(36cqh + 17px) !important;
    aspect-ratio: 100 / 20 !important;
  }
  .cell:has(.group-letter) .ch-button,
  .cell:has(.group-letter) .group-ch-button,
  .cell.special-cell .ch-button,
  .cell.special-cell .group-ch-button {
    font-size: clamp(10px, 7cqh, 22px) !important;
    padding: 1px 4px !important;
  }
  .cell:has(.group-letter) .position,
  .cell.special-cell .position {
    padding: 2px 0 28px !important;
  }
}
body.low-resolution .cell:has(.group-letter) .group-letter,
body.low-resolution .cell.special-cell .group-letter {
  font-size: clamp(16px, 36cqh, 36px) !important;
  font-weight: 600 !important;
  margin: 24px 0 0 0 !important;
}
body.low-resolution .cell:has(.group-letter) .ch-button,
body.low-resolution .cell.special-cell .group-ch-button,
body.low-resolution .cell.special-cell .ch-button {
  font-size: clamp(10px, 7cqh, 22px) !important;
  padding: 1px 4px !important;
}
.cell.special-cell-compact .group-letter {
  font-size: clamp(16px, 36cqh, 36px) !important;
  font-weight: 600 !important;
}
.cell.special-cell-compact .ch-button,
.cell.special-cell-compact .group-ch-button {
  font-size: clamp(10px, 7cqh, 22px) !important;
  padding: 1px 4px !important;
}
