/* Tableaux sur mobile (15/10/2026) : conteneur défilant, aucun débordement de page. */

.casa-table-defile {
  position: relative;
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 1em 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  border: 1px solid var(--casa-line, #EFE2EC);
  border-radius: var(--casa-radius, 12px);
  background:
    linear-gradient(to right, #fff 30%, rgba(255, 255, 255, 0)) left center / 28px 100% no-repeat local,
    linear-gradient(to left, #fff 30%, rgba(255, 255, 255, 0)) right center / 28px 100% no-repeat local,
    linear-gradient(to right, rgba(81, 20, 91, .22), rgba(81, 20, 91, 0)) left center / 12px 100% no-repeat scroll,
    linear-gradient(to left, rgba(81, 20, 91, .22), rgba(81, 20, 91, 0)) right center / 12px 100% no-repeat scroll;
}

.casa-table-defile:focus-visible {
  outline: 3px solid var(--casa-green, #7A2185);
  outline-offset: 2px;
}

.casa-table-defile > table {
  width: 100%;
  max-width: none;
  margin: 0;
  border-collapse: collapse;
}

.casa-table-defile th,
.casa-table-defile td {
  font-size: max(15px, .94em);
  line-height: 1.4;
  white-space: normal;
  vertical-align: top;
}

.casa-table-defile .casa-montant {
  white-space: nowrap;
}

/* Tableaux à deux colonnes : tiennent dans la largeur, sans défilement. */
.casa-table-defile--2col {
  overflow-x: visible;
  background: none;
}

.casa-table-defile--2col > table {
  table-layout: fixed;
  width: 100%;
}

.casa-table-defile--2col th,
.casa-table-defile--2col td {
  overflow-wrap: anywhere;
  word-break: normal;
}

@media (max-width: 600px) {
  .casa-table-defile > table {
    min-width: 34rem;
  }

  .casa-table-defile--2col > table {
    min-width: 0;
  }

  .casa-table-defile th,
  .casa-table-defile td {
    padding: .5em .6em;
  }
}

/* Éléments larges du contenu : jamais plus larges que l'écran. */
.entry-content img,
.entry-content iframe,
.entry-content video,
.entry-content embed,
.entry-content object {
  max-width: 100%;
}

.entry-content img {
  height: auto;
}

.entry-content pre {
  max-width: 100%;
  overflow-x: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}


/* Tableaux de texte empilés sur téléphone (19/10/2026) : une fiche par ligne, sans défilement. */
@media (max-width: 600px) {
  .casa-table-defile--empile {
    overflow-x: visible;
    background: none;
  }

  .casa-table-defile--empile > table {
    min-width: 0;
  }

  .casa-table-defile--empile thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .casa-table-defile--empile tr {
    display: block;
    padding: .7em .9em;
    border-bottom: 1px solid var(--casa-line, #EFE2EC);
  }

  .casa-table-defile--empile tr:last-child {
    border-bottom: 0;
  }

  .casa-table-defile--empile td {
    display: block;
    padding: .25em 0;
    border: 0;
  }

  .casa-table-defile--empile td[data-label]::before {
    content: attr(data-label);
    display: block;
    font-size: .8em;
    font-weight: 700;
    color: var(--casa-muted, #5D5162);
  }
}
