#hero{
    height: 40rem;
    margin-bottom: 0;
}

#hero #hero-img{
    height: calc(var(--vh, 1vh) * 100);
    object-position: bottom;
    filter: brightness(60%);
    mask-image: linear-gradient(180deg, rgba(0,0,0,1) 50%, rgba(0,0,0,0) 100%);
}

#hero #hero-text{
    gap: 0;
    white-space: nowrap;
}

#hero #hero-text-top .libre-calson-display{
    font-size: 1.5rem;
}

#hero #hero-text-top .autography{
    font-size: 2.5rem;
    line-height: 1.5;
}

@media only screen and (max-width: 680px) {
    #hero{
        height: calc(var(--vh, 1vh) * 100);
    }
}

/* search results section styling start */

#search-results-section{
    position: relative;
    scroll-margin-top: 8rem;
}

#booked-out{
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: var(--gap-l);
}

#booked-out img{
    filter: invert(1);
    width: 10rem;
}

#booked-out .autography{
    font-size: 1.75rem;
    margin-left: var(--gap-m);
}

#rooms-wrapper{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--gap-xl);
    width: calc(85rem - calc(2 * var(--gap-xl)));
    margin: auto;
    scroll-margin-top: 8rem;
}

#rooms-wrapper{
    align-items: center;
}

#rooms-wrapper * {
    white-space: wrap;
}

#rooms-wrapper .room{
    width: 100%;
    box-sizing: border-box;
    position: relative;
    cursor: pointer;
    border-radius: var(--gap-m);
    overflow: hidden;
    transition: .5s;
}

#rooms-wrapper .room:hover{
    transform: translateY(calc(0rem - var(--gap-m)));
}

#rooms-wrapper{
    /*gap: var(--gap-xl); /* gap makes slideshow undivisible into even slides */
    transition: .5s;
}

#rooms-wrapper .room .room-img-wrapper{
    width: 100%;
    aspect-ratio: 4 / 2.75;
    position: relative;
}

#rooms-wrapper .room .room-img{
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    object-fit: cover;
    object-position: center;
    transition: .3s;
    border-top-left-radius: var(--gap-m);
    border-top-right-radius: var(--gap-m);
}

#rooms-wrapper .room:hover .room-img{
    filter: brightness(60%);
    transform: scale(1.03, 1.03);
    object-fit: cover;
}

#rooms-wrapper .room .room-discover-more{
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 50%;
    transform: translate(-50%, calc(-50% + var(--gap-l)));
    opacity: 0%;
    transition: .3s;
}

#rooms-wrapper .room:hover .room-discover-more{
    opacity: 100%;
    transform: translate(-50%, -50%);
}

#rooms-wrapper .room .room-img-wrapper::before, #rooms-wrapper .room .room-img-wrapper::after{
    content: "";
    border-radius: var(--gap-m);
    width: 0;
    height: 0;
    position: absolute;
    border-width: 0;
    border-style: solid;
    border-color: var(--orange);
    transition: width .5s, height .5s, border-radius .2s 0s;
    border-radius: 0;
}

#rooms-wrapper .room:hover .room-img-wrapper::before, #rooms-wrapper .room:hover .room-img-wrapper::after{
    width: calc(100% - 2 * var(--gap-l));
    height: calc(100% - 2 * var(--gap-l));
    border-radius: var(--gap-m);
    transition: width .5s, height .5s, border-radius .2s .3s;
}

#rooms-wrapper .room .room-img-wrapper::before{
    border-top-width: .1rem;
    border-left-width: .1rem;
    left: var(--gap-l);
    top: var(--gap-l);
    border-top-left-radius: var(--gap-m);
    z-index: 1;
}

#rooms-wrapper .room .room-img-wrapper::after{
    border-bottom-width: .1rem;
    border-right-width: .1rem;
    right: var(--gap-l);
    bottom: var(--gap-l);
    border-bottom-right-radius: var(--gap-m);
}

#rooms-wrapper .room .room-info-wrapper{
    padding: var(--gap-xl) var(--gap-xxl);
    display: flex;
    flex-direction: column;
    row-gap: var(--gap-l);
    backdrop-filter: blur(1rem) brightness(70%);
}

#rooms-wrapper .room .room-info-wrapper *{
    text-align: left;
}

#rooms-wrapper .room .room-name{
    font-size: 3rem;
    letter-spacing: 0rem;
}

#rooms-wrapper .room .room-name.room-name-wrap{
    font-size: 2rem;
}

#rooms-wrapper .room .room-price{
    letter-spacing: 0rem;
    color: var(--orange);
    filter: brightness(140%);
}

#rooms-wrapper .room .room-properties{
    display: flex;
    gap: var(--gap-m);
    align-items: center;
    position: relative;
    flex-wrap: wrap;
}

#rooms-wrapper .room .room-properties .room-properties-div{
    height: 1rem;
    width: 0.0625rem;
    background-color: var(--orange);
    border-radius: 1rem;
}

#adjust-your-stay{
    margin: 0 auto;
    margin-top: var(--gap-xxl);
    display: block;
}

@media only screen and (max-width: 1430px) {
    #rooms-wrapper{
        grid-template-columns: repeat(2, 1fr);
        width: calc(56rem - calc(2 * var(--gap-xl)));
    }
}

@media only screen and (max-width: 960px){
    #rooms-wrapper{
        grid-template-columns: repeat(1, 1fr);
        width: calc(28rem - calc(2 * var(--gap-xl)));
    }
}

@media only screen and (max-width: 430px){
    #rooms-wrapper{
        width: 100%;
    }
}

@media only screen and (max-width: 500px) {
    #rooms-wrapper .room .room-info-wrapper{
        padding: calc(10 * var(--gap-factor));
    }

    #rooms-wrapper .room .room-name{
        font-size: 2.5rem;
    }

    #rooms-wrapper .room .room-price{
        font-size: 1.5rem;
    }
}

@media only screen and (max-width: 380px){

    #rooms-wrapper .room .room-name{
        font-size: 2rem;
    }

    #rooms-wrapper .room .room-price{
        font-size: 1.5rem;
    }
}

.search-status{
    text-align: center;
    margin: 1.5rem auto 0;
    max-width: 40rem;
    color: var(--orange);
    font-size: 1rem;
}

.search-status.search-status-error{
    color: #b45309;
}

.search-status.hidden{
    display: none;
}

.search-chatbot-offer-banner{
    max-width: 52rem;
    margin: 0 auto 1.5rem;
    padding: 0.85rem 1rem;
    border-radius: 0.5rem;
    background: rgba(201, 125, 61, 0.12);
    border: 1px solid rgba(201, 125, 61, 0.35);
    color: var(--dark-brown, #3d2914);
    font-size: 0.95rem;
    line-height: 1.45;
    text-align: center;
}

.search-chatbot-offer-banner strong{
    color: var(--orange, #c97d3d);
}
/* search results section styling end */