.calendar_container {

    /* Containers */

    .fbw-calendar:after {
        content: none;
    }

    .fbw-calendar--config {
        display: none;
    }
    .ui-datepicker-inline,
    .fbw-calendar--container {
        padding: 0 1.5em;
        background: transparent;
        color: var(--color);
    }

    .ui-datepicker-inline,
    .fbw-calendar {
        display: flex !important;
        justify-content: space-between;
        max-width: unset;
        gap: 1.2em;
    }

    .fbw-calendar--month-name,
    .fbw-calendar--button[disabled=disabled],
    .fbw-calendar--button {
        color: var(--color) !important;
    }

    .fbw-calendar--button[disabled=disabled] {
        opacity: .2;
    }

    /* Month container */

    .ui-datepicker-group,
    .fbw-calendar--month-bloc {
        width: 50% !important;
        float: unset !important;
    }

    .ui-datepicker-header {
        padding: 0 !important;
    }

    /* Month title */

    .ui-datepicker-title,
    .fbw-calendar--month-name {
        margin: 0 !important;
        line-height: 40px;
        width: 100%;
    }

    /* Arrows */

    a.ui-corner-all,
    button.fbw-calendar--button {
        padding: 0;
        margin: 0;
        line-height: 40px;
        height: 40px;
        width: 30px;
        top: 0;

        > svg {
            display: none;
        }

        &:before {
            content: var(--evo2-icon-calendar-arrow);
            font-family: var(--evo2-icon-font);
            font-weight: var(--evo2-icon-weight);
            cursor: pointer;
            font-size: 1.5rem;
            aspect-ratio: 1;
            line-height: 40px;
            text-align: center;
            width: 100%;
            display: block;
            margin: 0;
        }

        &:last-child:before,
        &.ui-datepicker-next:before {
            transform: scaleX(-1);
        }
    }

    table {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border-collapse: collapse;

        thead { /*day names*/
            border: none;

            tr { /*weeks*/
                display: flex;
                gap: 4px;
                margin-bottom: 4px;
                width: 100%;

                th, .fbw-calendar--weekdays { /*days*/
                    width: calc(100% / 7);
                    border: none;
                }
            }
        }

        tbody { /*month*/

            tr { /*weeks*/
                display: flex;
                gap: 4px;
                margin-bottom: 4px;
                width: 100%;

                td { /*days*/
                    width: calc(100% / 7);
                    position: relative;

                    @media (max-width: 1023px) {
                        width: 14.28571%!important;
                    }

                    &.fbw-calendar--day.valid_day,
                    &:has(> a) {
                        background: var(--alternative-bg);
                        color: var(--color);
                        border: 1px solid transparent;
                        border-radius: var(--evo2-input-radius);

                        &:hover {
                            background: var(--alternative-bg);
                            border-color: var(--accent);
                        }
                    }

                    &.fbw-calendar--day.valid_day {
                        border-radius: min(var(--evo2-input-radius), 10px);
                    }

                    &.fbw-calendar--day.valid_day.unavailable_day,
                    &.fbw-calendar--day:not(.valid_day) {
                        opacity: .2;
                        background-color: transparent;

                        p.day--price.converted {
                            display: none;
                        }
                    }

                    &.fbw-calendar--day.valid_day.available_day:has(.day--loader-div),
                    &.fbw-calendar--day.valid_day.unavailable_day:has(.day--loader-div) {
                        opacity: 1;
                    }

                    &.fbw-calendar--day.valid_day.day_in,
                    &.fbw-calendar--day.valid_day.day_out,
                    &.fbw-calendar--day.valid_day.chosen_day,
                    &.checkin-date,
                    &.checkout-date,
                    &.date-range-selected {
                        background: var(--accent) !important;
                        border-color: var(--accent) !important;
                        --color: var(--accent-color);

                        > a, > span, p.day--number, p.day--unavailable-price, p.day--in, p.day--out {
                            color: var(--accent-color) !important;
                            border: none;
                        }

                        p.day--price.converted {
                            display: none;
                        }
                    }

                    &.date-range-selected:has(+ .date-range-selected):not(:last-child) {
                        &:after {
                            content: '';
                            background: var(--accent);
                            display: block;
                            width: calc(100% + 4px);
                            height: calc(100% + 2px);
                            position: absolute;
                            top: -1px;
                            left: 30px;
                            z-index: 0;
                        }

                        > a {
                            position: relative;
                            z-index: 1;
                        }
                    }

                    &.chosen_day:has(+ .chosen_day):not(:last-child, .unavailable_day) {
                        > p {
                            position: relative;
                            z-index: 2;
                        }

                        > div {
                            &:after {
                                content: '';
                                background: var(--accent);
                                display: block;
                                width: calc(100% + 4px);
                                height: calc(100% + 2px);
                                position: absolute;
                                top: -1px;
                                left: 30px;
                                z-index: 0;

                            }

                            > p {
                                position: relative;
                                z-index: 1;
                            }
                        }
                    }

                    &.chosen_day:has(+ .unavailable_day) > div:after {
                        content: none !important;
                    }

                    > a, > span, p.day--number, p.day--unavailable-price {
                        color: var(--color);
                        border: none;
                        margin: 0;
                    }

                    p.day--price.converted {
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        flex-wrap: wrap;
                        margin-bottom: 7px;
                        padding: 0 2px;
                        font-size: 10px;
                        transition: opacity .2s ease;

                        > span {
                            line-height: 1;

                            > span {
                                line-height: 1;
                            }
                        }
                    }
                }
            }
        }
    }

    .fbw-calendar--bottom {
        height: unset;
        margin-bottom: 0;
    }

    .fbw-calendar--action {
        position: absolute;
        left: -99999px;
        opacity: 0;
        visibility: hidden;
    }

    .ui-datepicker .ui-datepicker-title,
    .ui-datepicker th,
    .ui-datepicker td > a,
    .ui-datepicker td > span {
        font-weight: var(--first-font-bold);
    }

    .widgets--wrapper .fbw-calendar--month-name,
    .widgets--wrapper .fbw-calendar--weekdays,
    .widgets--wrapper .day--number {
        font-weight: var(--first-font-bold);
    }
}