/*
 * Ajustes preserve-first para cotizaciones en escritorio y laptop.
 * No reemplaza las vistas faltantes: las vistas restauradas deben usar
 * .table-responsive o .latam-quote-table-scroll alrededor de tablas anchas.
 */

.latam-quote-table-scroll {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}

.latam-quote-cubicage-table {
  min-width: 1080px;
  margin-bottom: 0;
}

.latam-quote-cubicage-table th,
.latam-quote-cubicage-table td {
  padding: 0.45rem 0.6rem;
  white-space: nowrap;
  vertical-align: middle;
}

.latam-quote-cart-row .input-group {
  min-width: 9rem;
  flex-wrap: nowrap;
}

.latam-quote-quantity {
  min-width: 4.25rem;
  max-width: 5.5rem;
}

.latam-quote-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.latam-quote-totals {
  min-width: 12rem;
  text-align: end;
}

.latam-quote-modal .modal-dialog {
  width: calc(100vw - 2rem);
  max-width: 1200px;
  margin: 1rem auto;
}

.latam-quote-pdf {
  display: block;
  width: 100%;
  height: clamp(32rem, 72vh, 52rem);
  border: 0;
}

@media (max-width: 991.98px) {
  .latam-quote-modal .modal-dialog {
    width: calc(100vw - 1rem);
    margin: 0.5rem auto;
  }

  .latam-quote-actions > .btn {
    flex: 1 1 12rem;
  }

  .latam-quote-totals {
    width: 100%;
    margin-top: 0.75rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .latam-quote-table-scroll {
    scroll-behavior: auto;
  }
}
