/* ==========================================
   SoundBridge Events V2
   Calendar
========================================== */

.calendar-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
}

.calendar-header h3{
    margin:0;
    font-size:22px;
    font-weight:700;
}

.calendar-grid{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:8px;
}

.calendar-weekday{
    background:#1f2937;
    color:#fff;
    text-align:center;
    padding:12px;
    font-weight:600;
    border-radius:8px;
}

.calendar-day{
    min-height:120px;
    background:#ffffff;
    border:1px solid #d7dce2;
    border-radius:10px;
    padding:8px;
    transition:.2s;
    overflow:hidden;
}

.calendar-day:hover{
    border-color:#2563eb;
    box-shadow:0 4px 12px rgba(0,0,0,.08);
}

.calendar-day.empty{
    background:#f5f7fa;
    border:none;
}

.calendar-day.today{
    border:2px solid #2563eb;
}

.calendar-date{
    font-size:16px;
    font-weight:700;
    margin-bottom:8px;
}

.calendar-event{
    background:#2563eb;
    color:#fff;
    border-radius:6px;
    padding:5px 8px;
    margin-bottom:5px;
    font-size:12px;
    cursor:pointer;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.calendar-event:hover{
    background:#1d4ed8;
}

.calendar-event.ticketmaster{
    background:#009cde;
}

.calendar-event.manual{
    background:#16a34a;
}

.calendar-event.ai{
    background:#9333ea;
}

.calendar-empty{
    text-align:center;
    color:#888;
    padding:30px;
}

@media(max-width:992px){

    .calendar-grid{
        grid-template-columns:repeat(7,minmax(42px,1fr));
        gap:4px;
    }

    .calendar-day{
        min-height:80px;
        padding:4px;
    }

    .calendar-date{
        font-size:13px;
    }

    .calendar-event{
        font-size:10px;
        padding:3px 5px;
    }

}

@media(max-width:700px){

    .calendar-grid{
        display:block;
    }

    .calendar-weekday{
        display:none;
    }

    .calendar-day{
        margin-bottom:10px;
        min-height:auto;
    }

}