$ar-datepicker-color-bg-now: $color-white;
$ar-datepicker-color-bg-selected: $color-grey-light;
$ar-datepicker-color-border: $color-grey-light;
$ar-datepicker-color-txt: $color-gray-dark;
$ar-datepicker-color-txt-now: $color-blue;
$ar-datepicker-color-txt-selected: $color-gray;
$ar-datepicker-column-width: 40px;
$ar-datepicker-width: 296px;
$ar-datepicker-padding: 8px;

.ar-datepicker {
}

.ar-datepicker-calendar {
    @extend .ar-picker-wrapper;
    width: $ar-datepicker-width;

    &, &-left {
        right: auto;
        left: 0;
    }

    &-right {
        right: 0;
        left: auto;
    }

    &-center {
        right: auto;
        left: 50%;
        transform: translateX(-50%) translateY(100%);
    }

    &-header,
    &-footer {
        @extend .btn-group;
        width: 100%;
        padding: 4px 0;
        justify-content: center;

        > * {
            border-radius: 0 !important;
            padding: 8px 12px;
            font-size: 14px;
        }

        > *:first-child {
            flex-grow: 0;
        }

        > *:last-child {
            flex-grow: 0;
        }
    }

    &-footer {
        padding: 0;
        border-top: 1px solid $ar-datepicker-color-border;

        > * {
            font-size: 10px;
            padding: 4px 12px;
        }
    }

    &-labels {
        display: flex;
        justify-content: center;
        align-items: stretch;
        padding: 0 $ar-datepicker-padding;
        border-top: 1px solid $ar-datepicker-color-border;
        border-bottom: 1px solid $ar-datepicker-color-border;
    }

    &-label {
        flex-grow: 1;
        padding: 8px 5px;
        font-size: 10px;
        text-align: center;
        text-transform: uppercase;
        color: $ar-datepicker-color-txt;
        width: $ar-datepicker-column-width;
        overflow: hidden;
        pointer-events: none;
        user-select: none;
    }

    &-days {
        display: flex;
        flex-wrap: wrap;
        position: relative;
        padding: 8px $ar-datepicker-padding;
    }

    &-day {
        min-width: $ar-datepicker-column-width;
        height: $ar-datepicker-column-width;
        flex-grow: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        position: relative;
        cursor: pointer;
        user-select: none;

        input {
            display: none;
        }

        > span.text {
            color: $ar-datepicker-color-txt;
            z-index: 100;
        }

        > span.bg {
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            z-index: 1;
        }

        &.disabled {
            pointer-events: none;
            user-select: none;
            opacity: 0.25;
            cursor: default;
        }

        &.now {
            > span.text {
                color: $ar-datepicker-color-txt-now;
                font-weight: bold;
            }
        }

        &.checked {
            > span.text {
                color: $ar-datepicker-color-txt-selected;
                font-weight: bold;
            }

            > span.bg {
                top: 50%;
                left: 50%;
                transform: translateX(-50%) translateY(-50%);
                background-color: $ar-datepicker-color-bg-selected;
                height: 90%;
            }

            &-first {
                > span.bg {
                    border-top-left-radius: 100%;
                    border-bottom-left-radius: 100%;
                }

                &.sun {
                    &:after {
                        display: none !important;
                    }
                }
            }

            &-last {
                > span.bg {
                    border-top-right-radius: 100%;
                    border-bottom-right-radius: 100%;
                }

                &.sat {
                    &:after {
                        display: none !important;
                    }
                }
            }

            &.checked-first.checked-last {
                > span.bg {
                    width: 90%;
                    height: 90%;
                }
            }

            &.sat {
                &:after {
                    content: "";
                    position: absolute;
                    top: 50%;
                    right: 0;
                    width: $ar-datepicker-padding;
                    height: 90%;
                    background-color: $ar-datepicker-color-bg-selected;
                    transform: translateX(100%) translateY(-50%);
                }
            }

            &.sun {
                &:after {
                    content: "";
                    position: absolute;
                    top: 50%;
                    left: 0;
                    width: $ar-datepicker-padding;
                    height: 90%;
                    background-color: $ar-datepicker-color-bg-selected;
                    transform: translateX(-100%) translateY(-50%);
                }
            }

            &.now {
                > span.text {
                    color: $ar-datepicker-color-txt-now;
                }
            }
        }
    }
}
