:root { --primary-color: #4F46E5; --secondary-color: #10B981; --bg-light: #F9FAFB; --surface-white: #FFFFFF; --text-dark: #111827; --text-muted: #6B7280; } body { background-color: var(--bg-light); font-family: 'Inter', sans-serif; color: var(--text-dark); } .navbar-brand { font-weight: 700; } .hero-section { background: linear-gradient(120deg, var(--primary-color) 0%, #7c3aed 100%); padding: 6rem 0; color: white; } .hero-section h1 { font-size: 3.5rem; font-weight: 800; } .hero-section p { font-size: 1.25rem; max-width: 600px; margin: 1rem auto 2rem; } .btn-primary { background-color: var(--primary-color); border-color: var(--primary-color); font-weight: 600; padding: 0.75rem 1.5rem; border-radius: 0.5rem; transition: background-color 0.2s ease-in-out; } .btn-primary:hover { background-color: #4338ca; border-color: #4338ca; } .event-section { padding: 5rem 0; } .event-card { border: none; border-radius: 0.75rem; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out; height: 100%; } .event-card:hover { transform: translateY(-5px); box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); } .event-card .card-body { padding: 1.75rem; } .event-card .card-title { font-size: 1.25rem; font-weight: 600; color: var(--text-dark); } .event-card .card-subtitle { color: var(--primary-color); font-weight: 500; } .event-card .card-text { color: var(--text-muted); } .price-tag { background-color: var(--secondary-color); color: white; font-weight: 700; font-size: 1.1rem; padding: 0.5rem 1rem; border-radius: 0.5rem; position: absolute; top: 1.5rem; right: 1.5rem; } .price-tag.free { background-color: var(--primary-color); } .footer { background-color: var(--surface-white); padding: 2rem 0; border-top: 1px solid #e5e7eb; }