/* Tickets modal: mobile-first, responsive, and large on desktop (~95% / larger max-width) */
.tickets-modal .modal-dialog {
  width: auto;
  max-width: 100%;
  margin: 1.5rem;
}

@media (max-width: 767.98px) {
  .tickets-modal .modal-dialog { max-width: 100%; margin: 12px; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .tickets-modal .modal-dialog { max-width: 80vw; margin: 24px auto; }
}

@media (min-width: 1200px) {
  /* increased from 1100px -> 1600px and use 95vw so it expands to cover cards */
  .tickets-modal .modal-dialog {
    max-width: 1600px;
    width: 95vw;
    margin: 32px auto;
  }
  .tickets-modal .modal-content {
    box-shadow: 0 8px 30px rgba(0,0,0,0.25);
    border-radius: 6px;
    overflow: hidden;
  }
  .tickets-modal .modal-body { padding: 28px; }
}

.tickets-modal .modal-footer { display:flex; justify-content:flex-end; gap:12px; padding:18px 28px; }
.tickets-modal .modal-content { max-height:90vh; display:flex; flex-direction:column; }
.tickets-modal .modal-body { overflow-y:auto; flex:1 1 auto; }
