/* Base styles */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');

:root {
  --slate-50: #f8fafc;
  --slate-600: #475569;
  --slate-700: #334155;
  --slate-800: #1e293b;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Inter', sans-serif;
  background-color: var(--slate-50);
}

/* Layout */
.min-h-screen { min-height: 100vh; }
.w-full { width: 100%; }
.h-full { height: 100%; }
.relative { position: relative; }
.flex { display: flex; }
.flex-col { flex-direction: column; }
.space-y-4 > * + * { margin-top: 1rem; }
.space-x-2 > * + * { margin-left: 0.5rem; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }

/* Spacing */
.p-8 { padding: 2rem; }
.mb-8 { margin-bottom: 2rem; }
.mb-12 { margin-bottom: 3rem; margin-top: 180px; }
.mb-12-2 { margin-top: 20px; }
.mb-6 { margin-bottom: 1.5rem; }

/* Button styles */
.ticket-button {
  display: inline-block;
  padding: 0.5rem 1rem;
  background-color: black;
  color: white;
  text-color: white;
  text-decoration: none;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
}

/* Typography */
.text-4xl { font-size: 2.25rem; }
.text-2xl { font-size: 1.5rem; }
.text-xl { font-size: 1.25rem; }
.font-light { font-weight: 300; }
.font-medium { font-weight: 500; }
.text-slate-600 { color: var(--slate-600); }
.text-slate-700 { color: var(--slate-700); }
.text-slate-800 { color: var(--slate-800); }

/* Table styles */
.overflow-x-auto { overflow-x: auto; }
.border-collapse { border-collapse: collapse; }
.border-b { border-bottom: 1px solid #e2e8f0; }
.border-b-2 { border-bottom: 2px solid #e2e8f0; }
.text-left { text-align: left; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }

/* Image */
.object-cover { object-fit: cover; }

/* Links */
a { 
  color: black; 
  text-decoration: none;
  font-weight: bold; 
}
a:hover { 
  color: black; 
  text-decoration: underline;
  font-weight: bold; 
}
a:focus { 
  outline: none; 
  color: dimgray; 
}
a:active { 
  color: black; 
}
a:visited { 
  color: black;  
}

/* Social Links */
.social-links {
  display: flex;
  gap: 1.5rem;
  margin-top: 1.5rem;
}

.social-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--slate-700);
  font-weight: 500;
  transition: color 0.2s;
}

.social-link:hover {
  color: var(--slate-800);
  text-decoration: none;
}

.social-link svg {
  width: 20px;
  height: 20px;
}

/* Hover effects */
.hover\:bg-slate-50:hover { background-color: var(--slate-50); }
.transition-colors { transition: background-color 0.2s; }

/* Media queries */
@media (min-width: 768px) {
  .md\:flex-row { flex-direction: row; }
  .md\:w-1/2 { width: 50%; }
  .md\:h-screen { height: 100vh; }
  .md\:p-16 { padding: 4rem; }
  .md\:text-5xl { font-size: 3rem; }
}