:root{--primary: #ff385c;--primary-hover: #e32646;--bg-dark: #0f111a;--bg-card: rgba(255, 255, 255, .04);--card-border: rgba(255, 255, 255, .08);--text-main: #f9f9f9;--text-muted: #a0a5b5;--glass-blur: blur(16px)}*{box-sizing:border-box}body{font-family:Inter,sans-serif;background:radial-gradient(circle at top right,#1d1934,#0f111a 60%);background-color:var(--bg-dark);background-attachment:fixed;color:var(--text-main);margin:0;padding:40px 20px;min-height:100vh}.container{max-width:1000px;margin:0 auto}.header{text-align:center;margin-bottom:60px;position:relative}.header h1{font-size:3rem;font-weight:700;color:#fff;margin-bottom:12px;background:linear-gradient(135deg,#fff,#a0a5b5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-1px}.header p{color:var(--text-muted);font-size:1.1rem}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:30px}.event-card{background:var(--bg-card);border:1px solid var(--card-border);border-radius:20px;overflow:hidden;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.event-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #ff385c26;border-color:#ffffff26}.event-image{width:100%;height:220px;object-fit:cover;background:#2a2d3e;border-bottom:1px solid var(--card-border)}.event-content{padding:24px;flex:1;display:flex;flex-direction:column}.event-title{font-size:1.25rem;font-weight:600;margin:0 0 12px;line-height:1.4;color:#fff}.event-location{color:var(--text-muted);font-size:.9rem;margin-bottom:24px;line-height:1.6;display:flex;flex-direction:column;gap:8px}.event-location span{display:flex;align-items:center;gap:6px}.ticket-form{margin-top:auto;display:flex;flex-direction:column;gap:12px}.form-row{display:flex;gap:12px}select,input[type=number]{padding:12px 14px;background:#0003;border:1px solid var(--card-border);border-radius:10px;color:#fff;font-size:.95rem;outline:none;transition:border-color .2s}select:focus,input[type=number]:focus{border-color:var(--primary)}select{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a0a5b5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px}select option{background:var(--bg-dark);color:#fff}.btn-buy{background:linear-gradient(135deg,var(--primary) 0%,#ff6b8b 100%);color:#fff;border:none;padding:14px 20px;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;transition:transform .2s,box-shadow .2s;width:100%;box-shadow:0 4px 15px #ff385c4d}.btn-buy:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff385c66}.btn-buy:active{transform:translateY(0)}.loading,.error{text-align:center;padding:60px;color:var(--text-muted);font-size:1.1rem;grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;gap:16px}.error{color:#ff6b8b}.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-radius:50%;border-top-color:var(--primary);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}
