/* @group Sticky Book Now
------------------------------------ */

.sticky-book-now {
    background-color: var(--form-background);
    position: fixed;
    top: 7rem;
    z-index: calc(var(--z-index-site-nav) + 1);
    width: 100%;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s;
}
.sticky-book-now.show {
    opacity: 1;
    pointer-events: all;
}


.sticky-book-now span {
    font: inherit;
}
.sticky-book-now .header {
    display: flex;
    align-items: center;
    height: 4.4rem;
    padding: 1rem .8rem;
    border: 1px solid var(--marron-claro);
    border-radius: .4rem;
}
.sticky-book-now .header input[type="text"] {
    font-family: var(--sf-pro-regular);
    font-size: 1.4rem;
    line-height: 1.42em;
    letter-spacing: .02em;
    font-weight: var(--font-weight-medium);
    width: 100%;
    color: var(--marron-oscuro);
}


.sticky-book-now .room {
    position: relative;
}
.sticky-book-now .room .header p {
    pointer-events: none;
}
.sticky-book-now .room .room-remove {
    position: absolute;
    top: -.2rem;
    right: 0;
}
.sticky-book-now .room .room-number {
    margin: 0 0 1.6rem;
}
.sticky-book-now :is(.room-adult, .room-child) {
    display: flex;
    gap: .4rem;
    margin: 0 0 1.6rem;
}
.sticky-book-now .room :is(.room-adult, .room-child) :is(button, .text) {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 4.4rem;
    border-radius: .4rem;
}
.sticky-book-now .room :is(.room-adult, .room-child) .text {
    width: calc(100% - 9.2rem);
    border: 1px solid var(--marron-claro);
}
.sticky-book-now .room :is(.room-adult, .room-child) button {
    width: 4.4rem;
    font-size: 2.5rem;
    border: 1px solid var(--marron-oscuro);
}
.sticky-book-now .room .room-child .ages {
    color: var(--johannes-75);
}

.sticky-book-now :is(.room-textlink) {
    color: var(--marron-oscuro);
}
.sticky-book-now :is(.room-textlink, .total-count p) {
    font-family: var(--sf-pro-bold);
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.6em;
    letter-spacing: .2em;
    text-transform: uppercase;
    text-decoration: none;
}
.sticky-book-now .rooms-box .room-add {
    margin-block: 1.4rem;
}
.sticky-book-now .rooms-box .total-count {
    color: var(--marron-claro);
    margin-top: 3.2rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.sticky-book-now .room-search .room-textlink {
    white-space: nowrap;
}



@media only screen
and (min-width : 961px) {
    .sticky-book-now {
        padding-block: .8rem;
    }
    .sticky-book-now .content-box {
        display: flex;
        align-items: center;
        gap: 1.6rem;
        width: 100%;
    }
    .sticky-book-now .room-dates-box {
        flex: 0 1 38%;
    }
    .sticky-book-now :is(.room-input-box, .room-code-box) {
        flex: 0 1 18%;
    }
    .sticky-book-now .room-input-box {
        position: relative;
        width: 33rem;
    }
    .sticky-book-now .room-input-box .rooms-box {
        position: absolute;
        top: 100%;
        width: 37rem;
        max-height: 80vh;
        overflow-y: auto;
        padding: 4rem 1.6rem;
        background: var(--form-background);
        z-index: 1;
        opacity: 0;
        pointer-events: none;
        transition: opacity .4s;
    }
    .sticky-book-now .room-input-box.opened .rooms-box {
        opacity: 1;
        pointer-events: all;
    }
    .sticky-book-now .room-search {
        margin-left: 1.6rem;
    }

    body:has(.pinnedList.is-fixed) .sticky-book-now {
        background: transparent;
    }
    body:has(.pinnedList.is-fixed) .sticky-book-now .row {
        margin-left: 40%;
        justify-content: flex-start;
    }
    body:has(.pinnedList.is-fixed) .sticky-book-now .content-box {
        max-width: 60%;
        gap: 1rem;
    }
    body:has(.pinnedList.is-fixed) .sticky-book-now .room-search {
        margin-left: 0;
    }
}
@media only screen
and (min-width : 961px)
and (max-width : 1440px) {
}
@media only screen
and (min-width : 0)
and (max-width : 960px) {
    .sticky-book-now {
        height: calc(100vh - 8rem);
        height: calc(100svh - 8rem);
        text-align: center;
        top: 8rem;
        overflow-y: auto;
    }
    .sticky-book-now .content-box {
        width: 100%;
        padding: 3.5rem 2rem;
    }
    .sticky-book-now :is(.room-dates-box, .room-input-box) {
        margin-bottom: 3.2rem;
    }
    .sticky-book-now .room-code-box {
        margin-bottom: 6rem;
    }
    .sticky-book-now .header input[type="text"] {
        text-align: center;
    }
    .sticky-book-now .room-search .room-textlink {
        display: flex;
        width: 100%;
        justify-content: center;
        align-items: center;
        height: 4rem;
        background-color: var(--marron-oscuro);
        color: var(--crema-fondo);
    }
    .sticky-book-now .room-search .room-textlink::after {
        content: none;
    }
}

/* @end */

:is(.flatpickr-calendar, #important) {
    background: var(--form-background);
    box-shadow: unset;
    border-radius: 0;
    padding: 4rem 4rem 6rem;
    min-width: fit-content;
}
.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
    border-bottom-color: var(--form-background);
}
.flatpickr-calendar :is(.cur-month, .numInput, .flatpickr-monthDropdown-months, #important) {
    font-family: var(--sf-pro-regular);
    font-size: 1.4rem;
    line-height: 1.42em;
    letter-spacing: .02em;
    font-weight: var(--font-weight-medium);
    color: var(--marron-oscuro);
}
.flatpickr-calendar :is(.flatpickr-weekday, .flatpickr-day, #important) {
    font-family: var(--sf-pro-bold);
    font-size: 1rem;
    line-height: 1.6em;
    letter-spacing: .2em;
    text-transform: uppercase;
    font-weight: var(--font-weight-bold);
    color: var(--marron-oscuro);
}
.flatpickr-calendar :is(.flatpickr-day, #important) {
    display: inline-flex;
    align-items: center;
    width: 2.2rem;
    height: 2.2rem;
    margin-top: 1.2rem;
    border-radius: 3.2rem;
    box-shadow: unset;
}
.flatpickr-calendar :is(.flatpickr-day.today, #important) {
    border-color: var(--marron-oscuro);
}
.flatpickr-calendar .flatpickr-day:is(.inRange, .startRange, .endRange, #important) {
    border-color: var(--marron-oscuro);
    background: var(--marron-oscuro);
    color: var(--form-background);
}
.flatpickr-calendar:has(.inRange) .flatpickr-day:is(.startRange, #important) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.flatpickr-calendar:has(.inRange) .flatpickr-day:is(.endRange, #important) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.flatpickr-calendar .flatpickr-day:is(.inRange, #important) {
    border-radius: 0;
}
.flatpickr-calendar :is(.flatpickr-day.today:hover, .flatpickr-day.today:focus, #important) {
    background: transparent;
}
.flatpickr-calendar :is(.dayContainer, #important) {
    gap: 0;
}
.flatpickr-calendar :is(.flatpickr-months, #important) {
    margin-bottom: 3rem;
}
.flatpickr-calendar :is(.flatpickr-next-month, .flatpickr-prev-month) svg {
    display: none;
}
.flatpickr-calendar :is(.flatpickr-next-month, .flatpickr-prev-month) {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='19' viewBox='0 0 11 19' fill='none'%3E%3Cpath d='M0.369298 18.5973C0.859298 19.0873 1.6493 19.0873 2.1393 18.5973L10.5493 10.1873C10.9393 9.79734 10.9393 9.16734 10.5493 8.77734L2.1393 0.367344C1.6493 -0.122656 0.859298 -0.122656 0.369298 0.367344C-0.120702 0.857344 -0.120702 1.64734 0.369298 2.13734L7.7093 9.47734L0.359298 16.8273C-0.120702 17.3173 -0.120702 18.1073 0.369298 18.5973Z' fill='%2350402C'/%3E%3C/svg%3E");
    background-size: auto 1.5rem;
    background-repeat: no-repeat;
    background-position: center;
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
    top: 4.5rem;
}
.flatpickr-calendar :is(.flatpickr-prev-month, #important) {
    transform: rotate(-180deg);
    left: 4rem;
}
.flatpickr-calendar :is(.flatpickr-next-month, #important) {
    right: 4rem;
}

@media only screen
and (min-width : 961px) {
    .flatpickr-calendar :is(.flatpickr-weekday, .flatpickr-day, #important) {
        max-width: 3.9rem;
    }
    .flatpickr-weekdays :is(.flatpickr-weekdaycontainer, #important) {
        justify-content: center;
    }
    .flatpickr-calendar :is(.dayContainer, #important) {
        gap: 0;
        justify-content: center;
    }
}