.calendar {
    overflow: hidden;
    border-radius: 30px;
    padding: 0px;
    height: fit-content;
    box-shadow: var(--lightShadow);
}

/******* Calendar head*****/

.calendar-head {
    background-color: var(--primary);
    padding: 20px;
}
.calendar-head button {
    background: transparent;
    box-shadow: none;
    border: none;
}

.calendar-head i {
    font-size: 24px;
    color: var(--white);
}

.calendar-head .controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.calendar-head .current-month {
    font-size: var(--XL);
    font-family: var(--fontheader);
    color: var(--white);
}

.calendar-detail {
    padding-top: 20px;
}

.calendar-detail h2{
    font-size: 22px;
    font-weight: 600;
    color: var(--white);
    text-decoration: inherit;

}

.calendar-detail p{
    font-size: 16px;
    color: var(--white);
    text-decoration: inherit;

}

.calendar-detail p strong {
    color: inherit;
    text-decoration: inherit;

}

.calendar-detail .btn-primary {
    background: var(--white);
    padding: 10px 30px;
    font-size: var(--MD);
    color: var(--primary);
    font-weight: 700;
    border-radius: 20px;
    margin-left: auto;
    display: block;
    width: fit-content;
}

.calendar-detail .btn-primary:hover {
    color: var(--secondary);
}

/****** TABLE ********/
.calendar table {
    margin-bottom: 0px;
}
.calendar table thead tr{
    background: var(--primary);
}

.calendar table thead tr th{
    color: var(--white);
    border: none;
    padding-bottom: 5px;
}

.calendar table tbody tr td{
    border: none;
    text-align: center;
}

.calendar td.taken {
    position: relative;
    text-decoration: none;
    cursor: pointer;
}
.calendar td.taken::after{
    content: 'x';
    font-family: "Font Awesome 6 Free";
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    font-size: 40px;
    font-weight: 900;
    opacity: 0.1;
}

.calendar td.open{
    cursor: pointer;
}
.calendar td.open::after{
    content: '';
    height: 8px;
    width: 8px;
    display: block;
    border-radius: 100%;
    background: #1BC817;
    margin: auto;

}

/****** STATES ********/

.taken {
    text-decoration: line-through;
}

.past {
    background-color: var(--light)!important;
    color: #dbdbdb;
}

@media (max-width: 834px){
    .calendar table th {
        padding: 10px;
    }
    .calendar table td {
        padding: 10px;
    }
}