@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@600;700;800&display=swap');

* {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  box-sizing: border-box;
}

.font-display {
  font-family: 'Space Grotesk', sans-serif;
}

/* Mobile Utilities */
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.smooth-scroll { -webkit-overflow-scrolling: touch; }

.tab-pane { animation: fadeIn 0.2s ease-in-out; }
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

.custom-scrollbar::-webkit-scrollbar { height: 6px; }
.custom-scrollbar::-webkit-scrollbar-track { background: #f1f5f9; border-radius: 4px; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }

.seat-box {
  width: 22px; height: 20px; display: flex; align-items: center; justify-content: center;
  font-size: 8px; font-weight: 700; border-radius: 4px; cursor: pointer; user-select: none;
  transition: all 0.12s ease-in-out; border: 1px solid rgba(0, 0, 0, 0.08);
}
.seat-box:hover:not(.seat-reserved) { transform: scale(1.22); z-index: 20; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); }

.seat-vip { background-color: #f59e0b; color: #ffffff; border-color: #d97706; }
.seat-premium { background-color: #4f46e5; color: #ffffff; border-color: #4338ca; }
.seat-executive { background-color: #0891b2; color: #ffffff; border-color: #0e7490; }
.seat-standard { background-color: #64748b; color: #ffffff; border-color: #475569; }
.seat-selected { background-color: #10b981 !important; color: #ffffff !important; border-color: #059669 !important; box-shadow: 0 0 10px rgba(16, 185, 129, 0.7); transform: scale(1.15); z-index: 15; }
.seat-reserved { background-color: #e2e8f0 !important; color: #94a3b8 !important; border-color: #cbd5e1 !important; cursor: not-allowed !important; text-decoration: line-through; opacity: 0.65; }

/* Portrait Ticket */
.ld-ticket { background: linear-gradient(135deg, #4a1c1a 0%, #1e0a09 100%); border: 1px solid #73312d; color: #ffffff; position: relative; }
.ld-gold-text { color: #e5b376; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); }
.ld-badge { background: #e5b376; color: #4a1c1a; box-shadow: 0 4px 10px rgba(0,0,0,0.6); }
.ld-ticket-stub { background: #2a0e0d; border-top: 2px dashed #73312d; position: relative; }
.ticket-notch-left, .ticket-notch-right { position: absolute; width: 24px; height: 24px; background: #f8fafc; border-radius: 50%; top: -12px; z-index: 20; }
.ticket-notch-left { left: -13px; border-right: 1px solid #73312d; }
.ticket-notch-right { right: -13px; border-left: 1px solid #73312d; }
