@import "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap";:root{--primary-color:#7c3aed;--light-purple:#f3e8ff;--accent-color:#ec4899;--text-color:#1e1e1e;--white:#fff;--gray:#6b7280;font-family:Poppins,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-color);background-color:#f8f9fb}a{color:inherit;text-decoration:none}button,input{font:inherit}.app-container{background:var(--bg);min-height:100vh;color:var(--text)}.hero-content{max-width:850px;margin:0 auto}.hero-content h1{color:var(--text-h);margin-bottom:20px}.hero-content p{margin-bottom:32px;line-height:1.7}.search-wrapper{justify-content:center;display:flex}.search-wrapper input{border:1px solid var(--border);background:var(--bg);width:100%;max-width:500px;color:var(--text-h);border-radius:14px;padding:16px 18px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.search-wrapper input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 4px #aa3bff1f}.search-status{color:var(--accent);margin-top:18px;font-size:.95rem;font-weight:500;display:inline-block}.filter-bar{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:24px;padding:20px;display:flex}.filter-group select{border:1px solid var(--border);background:var(--bg);min-width:220px;color:var(--text-h);cursor:pointer;border-radius:12px;padding:14px;font-size:.95rem}.load-more-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:14px 22px;font-size:1rem;font-weight:600;transition:transform .2s,opacity .2s}.load-more-btn:hover{transform:translateY(-2px)}.load-more-btn:disabled{opacity:.7;cursor:not-allowed}.saved-section{margin-top:80px;padding:40px}.saved-section h2{text-align:center;color:var(--text-h);margin-bottom:30px}.state-view{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:100px 20px;display:flex}.state-view h3{color:var(--text-h);margin:0}.state-view p{line-height:1.6}.error-state h3{color:#ff4d4f}.loader-spinner{border:4px solid var(--border);border-top:4px solid var(--accent);border-radius:50%;width:44px;height:44px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=768px){.search-hero{padding:60px 20px 40px}.search-wrapper{flex-direction:column}.events-section,.saved-section{padding:20px}}.navbar{background-color:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:20px 60px;display:flex}.navbar-logo h2{color:var(--primary-color);letter-spacing:-2px;cursor:pointer;font-size:3rem;font-weight:700;transition:all .3s}.navbar-logo h2:hover{color:var(--accent-color);transform:scale(1.02)}.navbar-links{gap:30px;display:flex}.navbar-links a{color:var(--text-color);font-size:1rem;font-weight:500;transition:all .3s}.navbar-links a:hover{color:var(--primary-color)}@media (width<=768px){.navbar{flex-direction:column;gap:20px;padding:20px}.navbar-links{flex-wrap:wrap;justify-content:center;gap:20px}.navbar-logo h2{font-size:2.3rem}}.search-hero{text-align:center;padding:5px 20px 50px}.search-hero h1{color:var(--text-color);margin-bottom:20px;max-width:900px;margin-inline:auto;font-size:2.8rem}.search-hero p{color:var(--gray);margin-bottom:25px;font-size:1.1rem}.search-box{flex-wrap:wrap;justify-content:center;gap:15px;display:flex}.search-box input{border:1px solid #ddd;border-radius:12px;outline:none;width:350px;padding:15px 20px;font-size:1rem}.search-box button{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:15px 28px;font-weight:600;transition:all .3s}.search-box button:hover{background-color:var(--accent-color);transform:translateY(-2px)}@media (width<=768px){.search-hero h1{font-size:2.2rem;line-height:1.2}.search-box{flex-direction:column;align-items:center}.search-box input{width:100%;max-width:320px}.search-box button{width:180px}}.filter-bar{flex-wrap:wrap;justify-content:center;gap:30px;padding:20px 20px 40px;display:flex}.filter-group{flex-direction:column;gap:10px;display:flex}.filter-group label{color:var(--text-color);font-size:.95rem;font-weight:600}.filter-group select{min-width:220px;color:var(--text-color);cursor:pointer;background-color:#fff;border:1px solid #ddd;border-radius:12px;padding:14px 16px;font-size:1rem;transition:all .3s}.filter-group select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 4px #7c3aed1a}.events-section{padding:20px 60px 80px}.event-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;display:grid}.load-more-wrapper{justify-content:center;margin-top:50px;display:flex}.load-more-btn{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:14px 28px;font-weight:600;transition:all .3s}.load-more-btn:hover{background-color:var(--accent-color);transform:translateY(-2px)}.event-card{background-color:#fff;border-radius:20px;transition:all .3s;overflow:hidden;box-shadow:0 10px 25px #0000000f}.event-card:hover{transform:translateY(-6px)}.event-image-wrapper{position:relative}.event-image{object-fit:cover;width:100%;height:220px}.event-status{background-color:var(--primary-color);color:#fff;border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:600;position:absolute;top:15px;right:15px}.event-content{padding:24px}.event-tags{flex-wrap:wrap;gap:10px;margin-bottom:15px;display:flex}.event-tag{background-color:var(--light-purple);color:var(--primary-color);border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:600}.event-tag.secondary{color:var(--accent-color);background-color:#ffe4f1}.event-content h3{margin-bottom:15px;font-size:1.3rem}.event-meta{color:var(--gray);flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.event-price{color:var(--primary-color);margin-bottom:20px;font-weight:700}.event-actions{gap:15px;display:flex}.ticket-btn,.save-btn{cursor:pointer;border-radius:12px;flex:1;padding:12px;font-weight:600;transition:all .3s}.ticket-btn{background-color:var(--primary-color);color:#fff;text-align:center}.ticket-btn:hover{background-color:var(--accent-color)}.save-btn{background-color:#fff;border:1px solid #ddd}.save-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}
