﻿
.flatpickr-day.selected.startRange, .flatpickr-day.startRange.startRange, .flatpickr-day.endRange.startRange {
    border-radius: 4px 0 0 4px !important;
    z-index: 9999;
}

.flatpickr-day.selected.endRange, .flatpickr-day.startRange.endRange, .flatpickr-day.endRange.endRange {
    border-radius: 0 4px 4px 0 !important;
    z-index: 9999;
}

.flatpickr-calendar {
    background: transparent;
    opacity: 0;
    display: none;
    text-align: center;
    margin-left: -64px;
    margin-top: 5px;
    visibility: hidden;
    padding: 0;
    -webkit-animation: none;
    animation: none;
    direction: ltr;
    border: 0;
    font-size: 14px;
    line-height: 24px;
    border-radius: 5px;
    position: absolute;
    width: 307.875px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    background: #fff;
    -webkit-box-shadow: 1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,0.08);
    box-shadow: 1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,0.08);
}

    .flatpickr-calendar.open, .flatpickr-calendar.inline {
        opacity: 1;
        max-height: 640px;
        visibility: visible
    }

    .flatpickr-calendar.open {
        display: inline-block;
        z-index: 99999
    }

    .flatpickr-calendar.animate.open {
        -webkit-animation: fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);
        animation: fpFadeInDown 300ms cubic-bezier(.23,1,.32,1)
    }

    .flatpickr-calendar.inline {
        display: block;
        position: relative;
        top: 2px
    }

    .flatpickr-calendar.static {
        position: absolute;
        top: calc(100% + 2px);
    }

        .flatpickr-calendar.static.open {
            z-index: 999;
            display: block
        }

    .flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
        -webkit-box-shadow: none !important;
        box-shadow: none !important
    }

    .flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
        -webkit-box-shadow: -2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;
        box-shadow: -2px 0 0 #e6e6e6,5px 0 0 #e6e6e6
    }

    .flatpickr-calendar .hasWeeks .dayContainer, .flatpickr-calendar .hasTime .dayContainer {
        border-bottom: 0;
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0
    }

    .flatpickr-calendar .hasWeeks .dayContainer {
        border-left: 0
    }

    .flatpickr-calendar.showTimeInput.hasTime .flatpickr-time {
        height: 40px;
        border-top: 1px solid #e6e6e6
    }

    .flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
        height: auto
    }

    .flatpickr-calendar:before, .flatpickr-calendar:after {
        position: absolute;
        display: block;
        pointer-events: none;
        border: solid transparent;
        content: '';
        height: 0;
        width: 0;
        left: 22px
    }

    .flatpickr-calendar.rightMost:before, .flatpickr-calendar.rightMost:after {
        left: auto;
        right: 22px
    }

    .flatpickr-calendar:before {
        border-width: 5px;
        margin: 0 -5px
    }

    .flatpickr-calendar:after {
        border-width: 4px;
        margin: 0 -4px
    }

    .flatpickr-calendar.arrowTop:before, .flatpickr-calendar.arrowTop:after {
        bottom: 100%;
        top: 30px;
        left: 10px;
    }

    .flatpickr-calendar.centerMost::after {
        left: 87%;
    }

    /*    .flatpickr-calendar.arrowTop:before {
        border-bottom-color: #e6e6e6
    }*/

    /*   .flatpickr-calendar.arrowTop:after {
        border-bottom-color: #fff
    }*/

    .flatpickr-calendar.arrowBottom:before, .flatpickr-calendar.arrowBottom:after {
        top: 100%
    }

    .flatpickr-calendar.arrowBottom:before {
        border-top-color: #e6e6e6
    }

    .flatpickr-calendar.arrowBottom:after {
        border-top-color: #fff
    }

    .flatpickr-calendar:focus {
        outline: 0
    }

.flatpickr-wrapper {
    position: relative;
    display: inline-block
}

.flatpickr-months {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid black;
    height: 50px;
    background-position: bottom;
}

    .flatpickr-months .flatpickr-month {
        background: white;
        color: rgba(0,0,0,0.9);
        fill: rgba(0,0,0,0.9);
        height: 50px;
        line-height: 1;
        text-align: center;
        position: relative;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        overflow: hidden;
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1
    }

    .flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month {
        text-decoration: none;
        cursor: pointer;
        position: absolute;
        top: 0;
        height: 34px;
        padding: 10px;
        z-index: 3;
        color: rgba(0,0,0,0.9);
        fill: rgba(0,0,0,0.9);
    }

        .flatpickr-months .flatpickr-prev-month.flatpickr-disabled, .flatpickr-months .flatpickr-next-month.flatpickr-disabled {
            display: none
        }

        .flatpickr-months .flatpickr-prev-month i, .flatpickr-months .flatpickr-next-month i {
            position: relative
        }

        .flatpickr-months .flatpickr-prev-month.flatpickr-prev-month, .flatpickr-months .flatpickr-next-month.flatpickr-prev-month { /*
      /*rtl:begin:ignore*/
            left: 0; /*
      /*rtl:end:ignore*/
        }
        /*
      /*rtl:begin:ignore*/
        /*
      /*rtl:end:ignore*/
        .flatpickr-months .flatpickr-prev-month.flatpickr-next-month, .flatpickr-months .flatpickr-next-month.flatpickr-next-month { /*
      /*rtl:begin:ignore*/
            right: 0; /*
      /*rtl:end:ignore*/
        }
        /*
      /*rtl:begin:ignore*/
        /*
      /*rtl:end:ignore*/
        .flatpickr-months .flatpickr-prev-month:hover, .flatpickr-months .flatpickr-next-month:hover {
            color: #959ea9;
        }

            .flatpickr-months .flatpickr-prev-month:hover svg, .flatpickr-months .flatpickr-next-month:hover svg {
                fill: #f64747
            }

        .flatpickr-months .flatpickr-prev-month svg, .flatpickr-months .flatpickr-next-month svg {
            width: 14px;
            height: 14px;
        }

            .flatpickr-months .flatpickr-prev-month svg path, .flatpickr-months .flatpickr-next-month svg path {
                -webkit-transition: fill .1s;
                transition: fill .1s;
                fill: inherit
            }



.flatpickr-current-month {
    font-size: 135%;
    line-height: inherit;
    font-weight: 300;
    color: inherit;
    position: absolute;
    width: 75%;
    left: 12.5%;
    padding: 7.48px 0 0 0;
    line-height: 1;
    height: 34px;
    display: inline-block;
    text-align: center;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

    .flatpickr-current-month span.cur-month {
        font-family: inherit;
        font-weight: 700;
        color: inherit;
        display: inline-block;
        margin-left: .5ch;
        padding: 0;
    }

        .flatpickr-current-month span.cur-month:hover {
            background: rgba(0,0,0,0.05)
        }

    .flatpickr-current-month .numInputWrapper {
        width: 6ch;
        width: 7ch\0;
        display: inline-block;
    }

        .flatpickr-current-month .numInputWrapper span.arrowUp:after {
            border-bottom-color: rgba(0,0,0,0.9)
        }

        .flatpickr-current-month .numInputWrapper span.arrowDown:after {
            border-top-color: rgba(0,0,0,0.9)
        }

    .flatpickr-current-month input.cur-year {
        background: transparent;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        color: inherit;
        cursor: text;
        padding: 0 0 0 .5ch;
        margin: 0;
        display: inline-block;
        font-size: inherit;
        font-family: inherit;
        font-weight: 300;
        line-height: inherit;
        height: auto;
        border: 0;
        border-radius: 0;
        vertical-align: initial;
        -webkit-appearance: textfield;
        -moz-appearance: textfield;
        appearance: textfield;
    }

        .flatpickr-current-month input.cur-year:focus {
            outline: 0
        }

        .flatpickr-current-month input.cur-year[disabled], .flatpickr-current-month input.cur-year[disabled]:hover {
            font-size: 100%;
            color: rgba(0,0,0,0.5);
            background: transparent;
            pointer-events: none
        }

    .flatpickr-current-month .flatpickr-monthDropdown-months {
        appearance: menulist;
        background: transparent;
        border: none;
        border-radius: 0;
        box-sizing: border-box;
        color: inherit;
        cursor: pointer;
        font-size: inherit;
        font-family: inherit;
        font-weight: 300;
        height: auto;
        line-height: inherit;
        margin: -1px 0 0 0;
        outline: none;
        padding: 0 0 0 .5ch;
        position: relative;
        vertical-align: initial;
        -webkit-box-sizing: border-box;
        -webkit-appearance: menulist;
        -moz-appearance: menulist;
        width: auto;
    }

        .flatpickr-current-month .flatpickr-monthDropdown-months:focus, .flatpickr-current-month .flatpickr-monthDropdown-months:active {
            outline: none
        }

        .flatpickr-current-month .flatpickr-monthDropdown-months:hover {
            background: rgba(0,0,0,0.05)
        }

        .flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
            background-color: transparent;
            outline: none;
            padding: 0
        }

.flatpickr-weekdays {
    background: #f1f3f7;
    text-align: center;
    overflow: hidden;
    width: 100%;
    padding-top: 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 28px;
}

    .flatpickr-weekdays .flatpickr-weekdaycontainer {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1
    }

span.flatpickr-weekday {
    cursor: default;
    font-size: 90%;
    background: transparent;
    color: #505162;
    line-height: 1;
    margin: 0;
    text-align: center;
    display: block;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-weight: bolder
}

.dayContainer, .flatpickr-weeks {
    padding: 1px 0 0 0
}

.flatpickr-days {
    position: relative;
    overflow: hidden;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 307.875px;
}

    .flatpickr-days:focus {
        outline: 0
    }

.dayContainer {
    padding: 0;
    outline: 0;
    text-align: left;
    width: 307.875px;
    min-width: 307.875px;
    max-width: 307.875px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    opacity: 1;
}

    .dayContainer + .dayContainer {
        -webkit-box-shadow: -1px 0 0 #e6e6e6;
        box-shadow: -1px 0 0 #e6e6e6
    }

.flatpickr-day {
    background: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #393939;
    /*    margin-top: 4px !important;*/
    cursor: pointer;
    font-weight: 400;
    width: 14.2857143%;
    -webkit-flex-basis: 14.2857143%;
    -ms-flex-preferred-size: 14.2857143%;
    flex-basis: 14.2857143%;
    max-width: 44px;
    height: 40px;
    line-height: 40px;
    margin: 0;
    display: inline-block;
    position: relative;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
}

    .flatpickr-day.inRange, .flatpickr-day.prevMonthDay.inRange, .flatpickr-day.nextMonthDay.inRange, .flatpickr-day.today.inRange, .flatpickr-day.prevMonthDay.today.inRange, .flatpickr-day.nextMonthDay.today.inRange, .flatpickr-day:hover, .flatpickr-day.prevMonthDay:hover, .flatpickr-day.nextMonthDay:hover, .flatpickr-day:focus, .flatpickr-day.prevMonthDay:focus, .flatpickr-day.nextMonthDay:focus {
        cursor: pointer;
        outline: 0;
        font-weight: 500;
        background: #e6e6e6;
        color: black;
        border-color: #e6e6e6
    }

    /*    .flatpickr-day:hover {
        background:none !important;
    }
*/
    /*    .flatpickr-day.today {
        border-color: #959ea9;
    }*/

    .flatpickr-day.today:hover, .flatpickr-day.today:focus {
        border-color: #959ea9;
        background: #959ea9;
        color: #fff
    }

    .flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {
        background: #33af48;
        -webkit-box-shadow: none;
        box-shadow: none;
        color: #fff;
        border-color: #33af48;
    }


        .flatpickr-day.selected.startRange, .flatpickr-day.startRange.startRange, .flatpickr-day.endRange.startRange {
            border-radius: 15px 0 0 15px;
        }

        .flatpickr-day.selected.endRange, .flatpickr-day.startRange.endRange, .flatpickr-day.endRange.endRange {
            border-radius: 0 15px 15px 0;
            color: white !important;
        }

        .flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
            -webkit-box-shadow: -10px 0 0 #33af48;
            box-shadow: -10px 0 0 #33af48;
        }

        .flatpickr-day.selected.startRange.endRange, .flatpickr-day.startRange.startRange.endRange, .flatpickr-day.endRange.startRange.endRange {
            border-radius: 50px
        }

    .flatpickr-day.inRange {
        border-radius: 0;
        -webkit-box-shadow: -5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;
        box-shadow: -5px 0 0 #e6e6e6,5px 0 0 #e6e6e6
    }

    .flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover, .flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay, .flatpickr-day.notAllowed, .flatpickr-day.notAllowed.prevMonthDay, .flatpickr-day.notAllowed.nextMonthDay {
        color: rgba(57,57,57,0.3);
        background: transparent;
        border-color: transparent;
        cursor: default
    }

        .flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover {
            cursor: not-allowed;
            color: rgba(57,57,57,0.1)
        }

    .flatpickr-day.week.selected {
        border-radius: 0;
        -webkit-box-shadow: -5px 0 0 #569ff7,5px 0 0 #569ff7;
        box-shadow: -5px 0 0 #569ff7,5px 0 0 #569ff7
    }

/*    .flatpickr-day.hidden {
        visibility: hidden;
    }*/

/*.rangeMode .flatpickr-day {
    margin-top: 1px
}
*/
.flatpickr-weekwrapper {
    float: left;
}

    .flatpickr-weekwrapper .flatpickr-weeks {
        padding: 0 12px;
        -webkit-box-shadow: 1px 0 0 #e6e6e6;
        box-shadow: 1px 0 0 #e6e6e6
    }

    .flatpickr-weekwrapper .flatpickr-weekday {
        float: none;
        width: 100%;
        line-height: 28px
    }

    .flatpickr-weekwrapper span.flatpickr-day, .flatpickr-weekwrapper span.flatpickr-day:hover {
        display: block;
        width: 100%;
        max-width: none;
        color: rgba(57,57,57,0.3);
        background: transparent;
        cursor: default;
        border: none
    }

.flatpickr-innerContainer {
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
}

.flatpickr-rContainer {
    display: inline-block;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.flatpickr-time {
    text-align: center;
    outline: 0;
    display: block;
    height: 0;
    line-height: 40px;
    max-height: 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

    .flatpickr-time:after {
        content: "";
        display: table;
        clear: both
    }

    .flatpickr-time .numInputWrapper {
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
        width: 40%;
        height: 40px;
        float: left;
    }

        .flatpickr-time .numInputWrapper span.arrowUp:after {
            border-bottom-color: #393939
        }

        .flatpickr-time .numInputWrapper span.arrowDown:after {
            border-top-color: #393939
        }

    .flatpickr-time.hasSeconds .numInputWrapper {
        width: 26%
    }

    .flatpickr-time.time24hr .numInputWrapper {
        width: 49%
    }

    .flatpickr-time input {
        background: transparent;
        -webkit-box-shadow: none;
        box-shadow: none;
        border: 0;
        border-radius: 0;
        text-align: center;
        margin: 0;
        padding: 0;
        height: inherit;
        line-height: inherit;
        color: #393939;
        font-size: 14px;
        position: relative;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-appearance: textfield;
        -moz-appearance: textfield;
        appearance: textfield;
    }

        .flatpickr-time input.flatpickr-hour {
            font-weight: bold
        }

        .flatpickr-time input.flatpickr-minute, .flatpickr-time input.flatpickr-second {
            font-weight: 400
        }

        .flatpickr-time input:focus {
            outline: 0;
            border: 0
        }

    .flatpickr-time .flatpickr-time-separator, .flatpickr-time .flatpickr-am-pm {
        height: inherit;
        float: left;
        line-height: inherit;
        color: #393939;
        font-weight: bold;
        width: 2%;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        -webkit-align-self: center;
        -ms-flex-item-align: center;
        align-self: center
    }

    .flatpickr-time .flatpickr-am-pm {
        outline: 0;
        width: 18%;
        cursor: pointer;
        text-align: center;
        font-weight: 400
    }

        .flatpickr-time input:hover, .flatpickr-time .flatpickr-am-pm:hover, .flatpickr-time input:focus, .flatpickr-time .flatpickr-am-pm:focus {
            background: #eee
        }

.flatpickr-input[readonly] {
    cursor: pointer
}

@-webkit-keyframes fpFadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0,-20px,0);
        transform: translate3d(0,-20px,0)
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0)
    }
}

@keyframes fpFadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0,-20px,0);
        transform: translate3d(0,-20px,0)
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0)
    }
}


@media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:portrait) {
    .flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month {
        top: 0vh !important;
    }
}

@media (max-width: 900px) {
    .prevMonthDay.hidden {
        visibility: hidden;
    }


    .nextMonthDay.hidden {
        visibility: hidden;
    }
}



@media (min-width: 900px) {
    .prevMonthDay.hidden {
        display: block !important;
    }

    #hdPackDepClass {
        width: 30%;
    }

    #hdHotelDepDateClass {
        width: 35%;
    }
}



@media (max-width: 767px) {
    .flatpickr-months {
        display: none !important;
    }

    .flatpickr-calendar {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        max-width: none !important;
        max-height: none !important;
        border-radius: 0 !important;
        margin: 0 !important;
        box-shadow: none !important;
        border: none !important;
        z-index: 999999 !important;
        background: #ffffff !important;
    }


    .flatpickr-innerContainer {
        height: 100% !important;
    }

    .flatpickr-rContainer {
        display: flex !important;
        flex-direction: column !important;
        width: 100%;
        justify-content: center !important;
    }

    .dayContainer {
        width: 100%;
        max-width: 100%;
        padding-left: 10px;
        padding-right: 10px;
    }

    .flatpickr-weekdays {
        height: 20vh !important;
    }

    span .flatpickr-weekday {
        font-size: 16px !important;
    }

    .flatpickr-day {
        height: 45px;
        line-height: 45px;
        max-width: 60px;
        font-weight: 500;
        font-size: 1rem;
    }

    .flatpickr-months {
        padding: 14px 16px !important;
        border-bottom: 1px solid rgba(15,23,42,.08) !important;
        margin-top: 10vh;
    }

        .flatpickr-months .flatpickr-month {
            height: 80px !important;
            margin-top: -50px;
        }

        .flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month {
            top: 5vh !important;
            height: 45px !important;
        }

            .flatpickr-months .flatpickr-prev-month svg, .flatpickr-months .flatpickr-next-month svg {
                width: 40px !important;
                height: 22px !important;
            }

    .flatpickr-current-month {
        font-size: 25px !important;
        font-weight: 900 !important;
        height: 60px !important;
    }

    /* Weekdays */
    .flatpickr-weekdays {
        padding: 10px 0 !important;
        font-weight: 800 !important;
    }

    /* Bottom action area */
    .flatpickr-time,
    .flatpickr-footer {
        padding: 14px 16px !important;
        border-top: 1px solid rgba(15,23,42,.08) !important;
    }
}

@media (min-width: 400px) {
    .flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month {
        top: 6vh !important;
    }
}

@media (min-width: 900px) {
    .flatpickr-day.hidden {
        display: block !important;
    }

    .flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month {
        top: .5vh !important;
    }

    .flatpickr-current-month {
        padding: 15.48px 0 0 0 !important;
    }
}


@media (max-width: 767px) {
    .flatpickr-calendar::after {
        content: "✕";
        position: absolute;
        width: 40px;
        line-height: 40px;
        height: 40px;
        border-radius: 14px;
        display: none;
        place-items: center;
        font-size: 40px;
        font-weight: 900;
        color: #0f172a;
        cursor: pointer;
        z-index: 2;
    }
}

.flatpickr-calendar .fp-footer {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    padding: 12px 12px calc(12px + env(safe-area-inset-bottom)) !important;
    border-top: 1px solid rgba(15,23,42,.08) !important;
    background: rgba(255,255,255,.96) !important;
    display: block;
    gap: 10px !important;
    z-index: 10 !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

.flatpickr-calendar .fp-btn {
    flex: 1 1 0 !important;
    border-radius: 16px !important;
    padding: 12px 14px !important;
    font-weight: 950 !important;
    font-size: 15px !important;
    width: 48%;
    cursor: pointer !important;
    border: 1px solid rgba(15,23,42,.10) !important;
}

    .flatpickr-calendar .fp-btn.fp-clear {
        background: rgba(15,23,42,.05) !important;
        color: #0f172a !important;
    }

    .flatpickr-calendar .fp-btn.fp-apply {
        background: #33af48 !important;
        color: #ffffff !important;
        border-color: rgba(37,99,235,.35) !important;
        box-shadow: 0 14px 30px rgba(37,99,235,.22) !important;
    }

@media (max-width: 600px) {
    .flatpickr-calendar {
        width: 100%;
    }


    .flatpickr-rContainer {
        display: block;
        max-height: 90vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .flatpickr-days {
        height: auto !important;
        overflow-y: auto;
        display: block;
    }

    .dayContainer {
        display: flex;
        flex-wrap: wrap;
        height: auto !important;
        min-height: unset !important;
        margin-bottom: 14px;
    }

    .fp-month-title {
        font-weight: 700;
        font-size: 22px;
        text-align: left;
        padding: 14px 12px 6px;
        padding-left: 30px;
    }

    .flatpickr-weekdaycontainer {
        display: none !important;
    }

        .flatpickr-weekdaycontainer:nth-of-type(1) {
            display: flex !important;
            font-size: 18px;
            background: #f1f3f7;
            padding: 10px;
        }
}

.fpStopSale {
    color: #fb4d3f !important;
    font-weight: 700 !important;
}

    .fpStopSale:hover {
        color: #fb4d3f !important;
        font-weight: 700 !important;
    }

.fpAskSale {
    color: #fbca3f !important;
    font-weight: 700 !important;
}

.fp-asksale {
    background: #fff3cd;
    color: #856404;
    border-radius: 4px;
}

.endRange {
    color: white !important;
    font-weight: 700 !important;
}

.startRange {
    color: white !important;
    font-weight: 700 !important;
}
/* Stop Sale */
.fp-stopsale {
    background: #f8d7da;
    color: #842029;
    border-radius: 4px;
}

/* Optional: make stop-sale clearly unselectable */
.fpStopSale.flatpickr-disabled,
.fpStopSale:hover {
    cursor: not-allowed;
    opacity: 0.8;
}

.selectedRangeText {
    padding: 10px 14px;
    font-weight: 600;
    font-size: 14px;
    color: #111827;
}

.fp-month-title {
    padding: 10px 10px 6px;
    font-weight: 700;
    line-height: 1.2;
}

.dayContainer.has-month-title {
    position: relative;
    padding-top: 34px; /* space for title */
}

    /* Title is painted, not inserted as DOM */
    .dayContainer.has-month-title::before {
        content: attr(data-month-title);
        position: absolute;
        left: 10px;
        top: 6px;
        font-weight: 700;
        font-size: 20px;
        line-height: 0.5;
        background: #fff;
        padding: 2px 0;
        z-index: 2;
    }

.selectedRangeTextAvailability {
    padding: 10px 15px;
    font-weight: 600;
    display: flex;
    font-size: 14px;
    color: #111827;
}

    .selectedRangeTextAvailability span {
        width: 50%;
    }

.flatpickr-calendar .fp-footerDesktop {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    padding: 2px 2px calc(2px + env(safe-area-inset-bottom)) !important;
    border-top: 1px solid rgba(15,23,42,.08) !important;
    background: rgba(255,255,255,.96) !important;
    display: block;
    gap: 5px !important;
    z-index: 10 !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

@media (max-width: 767px) {
    /* Fullscreen */
    .flatpickr-calendar.open {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        max-width: none !important;
        max-height: none !important;
        margin: 0 !important;
        border-radius: 0 !important;
        z-index: 999999 !important;
    }

    /* IMPORTANT: don't clip the days */
    .flatpickr-innerContainer {
        height: 100% !important;
        overflow: visible !important; /* was hidden */
    }

    /* Make the right side fill + scroll */
    .flatpickr-rContainer {
        width: 100% !important;
        max-height: calc(100dvh - 120px) !important; /* adjust if you have a footer */
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    /* Remove fixed desktop widths */
    .flatpickr-days {
        width: 100% !important;
    }

    .dayContainer {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}

/*  .flatpickr-day {
          background: #33af48 !important;
    border-color: #33af48 !important;
    color: white !important;
  }*/

.fpStopSale {
    background: #fe9b2f !important;
    color: white !important;
    border-radius: 2px;
}

.fpAskSale {
    background: #c04f38 !important;
    color: white !important;
    border-radius: 2px;
}

.fpActionTD {
    background: linear-gradient(to left top,#00a1ff 50%,#999 50%) !important;
    color: white !important;
    border-radius: 2px;
}

.inRange {
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
}
/* ===== Premium tokens ===== */
:root {
    --fp-radius: 12px;
    --fp-text: #0f172a;
    --fp-muted: rgba(15, 23, 42, .55);
    --fp-green: #22c55e;
    --fp-green-2: #16a34a;
    --fp-orange: #f59e0b;
    --fp-orange-2: #f97316;
    --fp-red: #ef4444;
    --fp-red-2: #dc2626;
    --fp-blue: #3b82f6;
    --fp-blue-2: #2563eb;
    --fp-shadow: 0 10px 22px rgba(15, 23, 42, .10);
    --fp-shadow-sm: 0 6px 14px rgba(15, 23, 42, .10);
}

/* ===== Base day cell polish ===== */
.flatpickr-day {
    border-radius: var(--fp-radius);
    transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
    color: var(--fp-text);
    -webkit-tap-highlight-color: transparent;
}

/* Hover only on real hover devices (desktop) */
@media (hover:hover) and (pointer:fine) {
    .flatpickr-day:hover {
        transform: translateY(-1px);
        box-shadow: var(--fp-shadow-sm);
        filter: brightness(1.02);
    }
}

/* ===== Range selection: premium pill ===== */
.flatpickr-day.inRange {
    background: rgba(34,197,94,.12) !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected {
    background: linear-gradient(180deg, var(--fp-green), var(--fp-green-2)) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 12px 26px rgba(34,197,94,.22) !important;
}

/* pill ends */
.flatpickr-day.startRange {
    border-top-left-radius: 999px !important;
    border-bottom-left-radius: 999px !important;
    border-top-right-radius: 10px !important;
    border-bottom-right-radius: 10px !important;
}

.flatpickr-day.endRange {
    border-top-right-radius: 999px !important;
    border-bottom-right-radius: 999px !important;
    border-top-left-radius: 10px !important;
    border-bottom-left-radius: 10px !important;
}

/* single-day range */
.flatpickr-day.startRange.endRange {
    border-radius: 999px !important;
}

/* ===== “Status” dates: premium chips ===== */
/* Common chip look */
.fpActionTD,
.fpAskSale,
.fpStopSale {
    border-radius: 6px !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.22) !important; /* inner border feel */
    box-shadow: 0 10px 22px rgba(15,23,42,.12) !important;
    position: relative;
    overflow: hidden; /* for highlight sheen */
}

    /* Sheen highlight (makes it feel premium) */
    .fpActionTD::after,
    .fpAskSale::after,
    .fpStopSale::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(120deg, rgba(255,255,255,.25), rgba(255,255,255,0) 45%);
        opacity: .7;
        pointer-events: none;
    }

/* Action: modern blue/graphite diagonal */
.fpActionTD {
    background: linear-gradient(135deg, var(--fp-blue) 0%, var(--fp-blue-2) 55%, #64748b 55%, #475569 100%) !important;
}

/* AskSale: warm amber */
.fpAskSale {
    background: linear-gradient(180deg, var(--fp-orange), var(--fp-orange-2)) !important;
}

/* StopSale: rich red */
.fpStopSale {
    background: linear-gradient(180deg, var(--fp-red), var(--fp-red-2)) !important;
}

/* Make numbers look crisper on colored cells */
.fpActionTD,
.fpAskSale,
.fpStopSale,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected {
    font-weight: 750 !important;
    letter-spacing: .1px;
}

/* Disabled states: keep premium but clearly disabled */
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
    opacity: .35 !important;
    filter: grayscale(.1);
    box-shadow: none !important;
    transform: none !important;
}

/* Mobile: avoid “twitch” from hover transforms */
@media (hover:none) and (pointer:coarse) {
    .flatpickr-day {
        transition: none;
    }
}

.flatpickr-calendar {
    border-radius: 18px !important;
    border: 1px solid rgba(15,23,42,.08) !important;
    box-shadow: 0 30px 70px rgba(15,23,42,.18) !important;
}

.flatpickr-weekdays {
    background: #f8fafc !important;
    border-bottom: 1px solid rgba(15,23,42,.06) !important;
}

span.flatpickr-weekday {
    color: rgba(15,23,42,.55) !important;
    font-weight: 700 !important;
}

.flatpickr-day.fpActionTD.inRange {
    color: #2563eb !important; /* blue */
}

.flatpickr-day.fpAskSale.inRange {
    color: #c04f38 !important; /* your AskSale color */
}

.flatpickr-day.fpStopSale.inRange {
    color: #fe9b2f !important; /* your StopSale color */
}
/* Global tooltip that sits on top of everything */
#fp-global-tooltip {
    position: fixed;
    z-index: 2147483647; /* max-ish */
    display: none;
    max-width: 320px;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    background: rgba(0,0,0,.88);
    color: #fff;
    box-shadow: 0 8px 24px rgba(0,0,0,.25);
    pointer-events: none; /* don't steal hover */
    white-space: normal; /* allow wrap */
}

.flatpickr-current-month span.cur-month, .secondColor {
    color: black !important;
}

@media (max-width: 500px) {
    .concept-list li, .hdSearch table.hdsTable tr td {
        width: 100%;
    }
}

.dateWrap {
    position: relative;
    display: inline-block;
    width: 100%;
}

    .dateWrap input {
        padding-right: 70px;
    }
/* leave room for badge */
.nightBadge {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    opacity: .85;
    pointer-events: none;
    white-space: nowrap;
    color: #16a34a;
    font-weight: 600;
    font-size: 14px;
}

@media (min-width: 900px) {
    .hdPackDepClass {
        width: 25%;
    }

    .packretTDclass {
        width: 20%;
    }

    .packdepTDclass {
        width: 20% !important;
    }

    .hotelretTDclass {
        width: 25%;
    }

    .hoteldepTDclass {
        width: 25% !important;
    }
}

@media (max-width: 790px) {
    .hdPackDepClass {
        width: 100%;
    }

    .packdepTDclass {
        width: 50% !important;
    }

    .packretTDclass {
        width: 50% !important;
    }

    .hoteldepTDclass {
        width: 50% !important;
    }

    .hotelretTDclass {
        width: 50% !important;
    }
}

@media (max-width: 767px) {
    .flatpickr-calendar {
        touch-action: auto !important; /* allow pinch zoom & normal gestures */
    }
}

@media (max-width: 767px) {
    .flatpickr-calendar.open {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        max-width: none !important;
        max-height: none !important;
        margin: 0 !important;
        border-radius: 0 !important;
    }

    .flatpickr-innerContainer,
    .flatpickr-rContainer,
    .flatpickr-days,
    .dayContainer {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
    #hdPackDepDate,
    input.flatpickr-input {
        font-size: 16px !important;
    }
    #hdPackRetDate,
    input.flatpickr-input {
        font-size: 16px !important;
    }
    #hdHotelDepDate,
    input.flatpickr-input {
        font-size: 16px !important;
    }
    #hdHotelRetDate,
    input.flatpickr-input {
        font-size: 16px !important;
    }
}

