:root { 
    --bg: #000000; 
    --surface: #0a0a0b; 
    --surface-card: #121214; 
    --border: #27272a; 
    --text: #ededed; 
    --muted: #a1a1aa; 
    --primary: #3b82f6; 
    --danger: #ef4444; 
    --success: #10b981;
}

* { 
    box-sizing: border-box; 
    margin: 0; 
    padding: 0; 
    font-family: 'Inter', sans-serif; 
}

body { 
    background-color: var(--bg); 
    color: var(--text); 
    padding-top: 90px; 
    overflow-x: hidden; 
}

/* NAVBAR */
.explore-nav { 
    position: fixed; 
    top: 0; 
    width: 100%; 
    height: 80px; 
    background: rgba(10, 10, 11, 0.85); 
    backdrop-filter: blur(12px); 
    -webkit-backdrop-filter: blur(12px); 
    border-bottom: 1px solid var(--border);
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    padding: 0 5%; 
    z-index: 1000;
}

.nav-brand { font-size: 24px; font-weight: 800; letter-spacing: -0.5px; cursor: pointer; }
.nav-brand span { color: var(--primary); }

/* RICERCA */
.search-container { 
    flex: 1; 
    max-width: 600px; 
    margin: 0 20px; 
    position: relative; 
    display: flex; 
    align-items: center; 
}

.search-icon { position: absolute; left: 16px; color: var(--muted); font-size: 14px; }

.search-container input { 
    width: 100%; 
    padding: 14px 20px 14px 45px; 
    border-radius: 30px; 
    background: var(--surface-card); 
    border: 1px solid var(--border); 
    color: var(--text); 
    font-size: 14px; 
    outline: none; 
    transition: all 0.2s; 
}

.search-container input:focus { 
    border-color: var(--primary); 
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15); 
}

/* MENU UTENTE */
.user-menu { display: flex; align-items: center; gap: 20px; }
.guest-avatar { font-size: 14px; font-weight: 600; color: var(--muted); display: flex; align-items: center; gap: 8px; }
.guest-avatar span { color: var(--text); }
.btn-logout { background: transparent; border: 1px solid var(--border); color: var(--text); padding: 10px 20px; border-radius: 8px; font-weight: 600; cursor: pointer; transition: 0.2s; }
.btn-logout:hover { background: var(--surface-card); color: var(--danger); border-color: var(--danger); }

/* CONTENITORE PRINCIPALE */
.explore-container { padding: 40px 5%; max-width: 1400px; margin: 0 auto; }
.section-header { margin-bottom: 24px; }
.section-header h2 { font-size: 24px; font-weight: 800; letter-spacing: -0.5px; margin-bottom: 6px; display: flex; align-items: center; gap: 10px;}
.section-header p { color: var(--muted); font-size: 15px; }

/* GRIGLIA EVENTI */
.event-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 24px; }
.event-card { background: var(--surface-card); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; transition: all 0.2s ease; cursor: pointer; display: flex; flex-direction: column; }
.event-card:hover { transform: translateY(-4px); border-color: var(--primary); box-shadow: 0 10px 30px rgba(0,0,0,0.5); }

.event-thumb { height: 190px; background: #1a1a1e; position: relative; display: flex; justify-content: center; align-items: center; overflow: hidden; }
.badge { position: absolute; top: 12px; left: 12px; padding: 6px 10px; border-radius: 6px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; z-index: 2; }
.badge.live { background: var(--danger); color: white; animation: pulseLive 2s infinite; }
.badge.scheduled { background: var(--surface); color: var(--primary); border: 1px solid var(--primary); }
.badge.price { left: auto; right: 12px; background: rgba(0,0,0,0.7); border: 1px solid var(--border); color: white; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }

@keyframes pulseLive { 
    0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4); } 
    70% { box-shadow: 0 0 0 6px rgba(239, 68, 68, 0); } 
    100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); } 
}

.event-info { padding: 20px; display: flex; flex-direction: column; flex: 1; justify-content: space-between;}
.event-title { font-size: 17px; font-weight: 700; color: #fff; margin-bottom: 8px; line-height: 1.3; }
.event-creator { font-size: 13px; color: var(--muted); margin-bottom: 20px; }
.btn-action { width: 100%; padding: 12px; border-radius: 8px; font-weight: 600; font-size: 14px; cursor: pointer; border: none; transition: 0.2s; }
.btn-action.live { background: var(--primary); color: white; }
.btn-action.live:hover { background: #2563eb; }
.btn-action.ticket { background: var(--surface); border: 1px solid var(--primary); color: var(--primary); }
.btn-action.ticket:hover { background: var(--primary); color: white; }

/* MOBILE RESPONSIVE */
@media (max-width: 768px) {
    .explore-nav { flex-wrap: wrap; height: auto; padding: 15px 5%; gap: 15px; position: relative; }
    .search-container { order: 3; max-width: 100%; margin: 0; width: 100%; }
    body { padding-top: 20px; }
    .event-grid { grid-template-columns: 1fr; }
}