/* frontend-fixes.css
   Arreglos de márgenes y tablas en páginas públicas
   Scope: #public-content (no afecta el admin) */

#public-content h1,
#public-content h2,
#public-content h3,
#public-content h4 {
  margin: 0 0 12px 0;
}

#public-content p {
  margin: 8px 0 12px 0;
}

#public-content .card {
  margin: 12px 0;
}

/* Tablas genéricas y de tarjetas */
#public-content .card table,
#public-content .table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
  margin: 8px 0 16px;
}
#public-content .card th,
#public-content .card td,
#public-content .table th,
#public-content .table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--border, rgba(255,255,255,0.08));
  text-align: left;
  vertical-align: middle;
}
#public-content .card th,
#public-content .table th {
  font-weight: 600;
  opacity: .95;
}

/* Última columna (acciones) sin salto en tablas comunes */
#public-content td:last-child { white-space: nowrap; }

/* ----- Específicos ----- */

/* Bloque 'Boletos' en /orden/* : .card.order-tickets */
.card.order-tickets table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}
.card.order-tickets th,
.card.order-tickets td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--border, rgba(255,255,255,0.08));
  vertical-align: middle;
}
.card.order-tickets th { font-weight: 600; }
/* Columna # alineada a la derecha (asumiendo está en 2ª posición) */
.card.order-tickets th:nth-child(2),
.card.order-tickets td:nth-child(2) { text-align: right; }
/* Sin borde en última fila */
.card.order-tickets tr:last-child td { border-bottom: 0; }

/* Botones/badges finos: centrado vertical */
#public-content .badge,
#public-content .btn-slim {
  display: inline-flex;
  align-items: center;
  height: 28px;
}

/* Alinear centro la columna 4 (Comprobante) SOLO en la tabla de pagos en /mis-boletos */
#public-content .payments-table th:nth-child(4),
#public-content .payments-table td:nth-child(4) { text-align:center; }

