/* ── Adevly Table Widget ──────────────────────────────────────────────────── */

.adevly-table-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}

.adevly-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}

/* Alineación */
.adevly-table__align--left   { text-align: left; }
.adevly-table__align--center { text-align: center; }
.adevly-table__align--right  { text-align: right; }

/* Celdas base */
.adevly-table thead th,
.adevly-table tbody td {
  border: 1px solid #e5e7eb;
  padding: 10px 14px;
  vertical-align: middle;
}

.adevly-table thead th { font-weight: 600; }

/* Contenido de celda — recibe los inline styles personalizados */
.adevly-table__content { display: inline; }

/* Label de columna — oculto en modo normal */
.adevly-table__label { display: none; }

/* Checks */
.adevly-table__check {
  display: inline-block;
  font-style: normal;
  font-weight: 700;
  font-size: 1.1em;
  line-height: 1;
}
.adevly-table__check--yes { color: #22c55e; }
.adevly-table__check--no  { color: #ef4444; }

/* Icono */
.adevly-table__icon { display: inline-block; }

/* ── Responsive: stack mode ─────────────────────────────────────────────── */
@media (max-width: 767px) {
  .adevly-table-wrapper[data-mobile-mode="stack"] .adevly-table,
  .adevly-table-wrapper[data-mobile-mode="stack"] .adevly-table thead,
  .adevly-table-wrapper[data-mobile-mode="stack"] .adevly-table tbody,
  .adevly-table-wrapper[data-mobile-mode="stack"] .adevly-table tr,
  .adevly-table-wrapper[data-mobile-mode="stack"] .adevly-table td {
    display: block;
  }

  /* Ocultar thead visualmente, mantener accesible */
  .adevly-table-wrapper[data-mobile-mode="stack"] .adevly-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .adevly-table-wrapper[data-mobile-mode="stack"] .adevly-table tr {
    border-bottom: 2px solid #e5e7eb;
    margin-bottom: 8px;
    padding-bottom: 4px;
  }

  .adevly-table-wrapper[data-mobile-mode="stack"] .adevly-table td {
    display: flex;
    align-items: center;
    gap: 10px;
    border-top: 0;
  }

  /* Label como elemento real — aislado del inline style del contenido */
  .adevly-table-wrapper[data-mobile-mode="stack"] .adevly-table__label {
    display: block;
    font-weight: bold;
    min-width: 110px;
    flex-shrink: 0;
  }
}
