.calendar-container {
    width: 100%;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .1);
    overflow: hidden;
    /*font-family: 'Vazirmatn', sans-serif;*/
    direction: rtl
}

.calendar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 25px;
    background: #287dfa;
    color: #fff
}

.calendar-header .month-year {
    font-size: 1.4rem;
    font-weight: 600
}

.calendar-header .nav-btn {
    border: none;
    background: transparent;
    color: #fff;
    font-size: 1.5rem;
    cursor: pointer;
    padding: 0 10px;
    transition: transform .2s ease-in-out
}

.calendar-header .nav-btn:hover {
    transform: scale(1.2)
}

#prev-month i::before {
    content: '\f105'
}

#next-month i::before {
    content: '\f104'
}

.controls {
    padding: 15px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #eee;
    gap: 10px;
    flex-wrap: wrap
}

.controls .control-btn {
    padding: 8px 15px;
    border: 1px solid #ccc;
    border-radius: 8px;
    background-color: #f9f9f9;
    cursor: pointer;
    font-size: .9rem;
    font-family: 'Vazirmatn', sans-serif;
    transition: all .2s ease-in-out;
    display: inline-flex;
    align-items: center;
    gap: 8px
}

.controls .control-btn:hover {
    background-color: #e9e9e9;
    border-color: #bbb
}

.controls .control-btn.active {
    background-color: #287dfa;
    color: #fff;
    border-color: #287dfa;
    box-shadow: 0 3px 10px rgba(125, 176, 250, 0.4)
}

.controls .control-btn.active:hover {
    background-color: #287dfa
}

.calendar-body {
    padding: 20px 25px
}

.calendar-weekdays {
    display: grid;
    grid-template-columns:repeat(7, 1fr);
    text-align: center;
    font-weight: 600;
    color: #aaa;
    margin-bottom: 15px;
    font-size: .9rem
}

.calendar-days {
    display: grid;
    grid-template-columns:repeat(7, 1fr);
    gap: 10px
}

.day {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 42px;
    width: 42px;
    margin: auto;
    border-radius: 50%;
    cursor: pointer;
    transition: all .25s cubic-bezier(.4, 0, .2, 1);
    position: relative;
    font-weight: 500;
    border: 2px solid transparent
}

.day:not(.empty):hover {
    background-color: #f0f0f0
}

.day.today {
    font-weight: 700;
    border-color: #287dfa;
    color: #287dfa
}

.day.locked {
    background-color: #ff7675;
    color: #fff;
    font-weight: 700;
    border-color: #ff7675
}

.day.locked::after {
    content: '\f023';
    font-family: 'Line Awesome Free';
    font-weight: 900;
    font-size: .8em;
    position: absolute;
    top: 1px;
    right: 1px;
    background: rgba(255, 255, 255, .9);
    color: #d63031;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
    z-index: 2
}

.day.selected {
    background-color: #287dfa;
    color: #fff;
    transform: scale(1.1);
    border-color: #287dfa
}

.day.in-range {
    background-color: #e4e2fd;
    border-radius: 0
}

.day.in-range.selected {
    border-radius: 50%
}

.day.empty {
    cursor: default;
    background-color: transparent;
    pointer-events: none;
    border-color: transparent
}

.calendar-footer {
    padding: 10px 25px 20px;
    border-top: 1px solid #eee;
    text-align: center
}

#goto-today-btn {
    width: 100%;
    background-color: #f0f0f0;
    border-color: #ddd
}

#goto-today-btn:hover {
    background-color: #e0e0e0
}

#goto-today-btn {
    width: fit-content;
    background-color: transparent;
    color: #287dfa;
    border-color: #287dfa;
    font-weight: 600;
    padding: 0 8px 6px 8px;
    border-radius: 4px;
}

#goto-today-btn:hover {
    background-color: #287dfa;
    color: #fff
}