/* ==========================================================
   SoundBridge Event Calendar
   ========================================================== */

#soundbridgeEventCalendar{
    max-width:900px;
    margin:30px auto;
    background:rgba(15,20,35,.88);
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    padding:20px;
    backdrop-filter:blur(10px);
    box-shadow:0 10px 30px rgba(0,0,0,.35);
}

.event-calendar-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:20px;
}

.event-calendar-header h2{
    margin:0;
    color:#fff;
    font-size:1.5rem;
    font-weight:700;
}

.event-calendar-nav{
    width:42px;
    height:42px;
    border:none;
    border-radius:50%;
    cursor:pointer;
    font-size:20px;
    color:#fff;
    background:rgba(255,255,255,.12);
    transition:.25s;
}

.event-calendar-nav:hover{
    background:#35b8ff;
    transform:scale(1.08);
}

.event-calendar-grid{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:8px;
}

.event-calendar-weekday{
    text-align:center;
    font-weight:700;
    color:#8fd7ff;
    padding:8px 0;
}

.event-calendar-day,
.event-calendar-day-empty{
    aspect-ratio:1;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    border:none;
    font-size:15px;
}

.event-calendar-day{
    background:rgba(255,255,255,.06);
    color:#fff;
    transition:.2s;
}

.event-calendar-day-empty{
    background:transparent;
}

.event-calendar-day:hover{
    background:rgba(53,184,255,.25);
}

.event-calendar-day-has-events{
    cursor:pointer;
    background:#1f6fb8;
    font-weight:700;
}

.event-calendar-day-has-events:hover{
    background:#35b8ff;
}

.is-today{
    outline:2px solid #ffd54a;
}

.is-selected{
    background:#ff9800!important;
    color:#111!important;
}

#soundbridgeEventResults{
    margin-top:30px;
}

#soundbridgeEventResults h2{
    color:#fff;
    margin-bottom:18px;
}

.event-card{
    background:rgba(255,255,255,.08);
    border-left:5px solid #35b8ff;
    border-radius:12px;
    padding:18px;
    margin-bottom:15px;
}

.event-card h3{
    margin:0 0 10px;
    color:#35b8ff;
}

.event-card p{
    margin:0 0 15px;
    color:#e6e6e6;
    line-height:1.5;
}

.event-meta{
    font-size:.95rem;
    color:#cfcfcf;
}

@media (max-width:700px){

    #soundbridgeEventCalendar{
        padding:15px;
    }

    .event-calendar-grid{
        gap:5px;
    }

    .event-calendar-day,
    .event-calendar-day-empty{
        font-size:13px;
    }

    .event-calendar-header h2{
        font-size:1.2rem;
    }

    .event-calendar-nav{
        width:36px;
        height:36px;
    }

}
