
main.custom-part {
    padding: 1vw;
    width: 100%;
    min-height: 40vw;
    position: relative;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.custom-form-reservation-container {
    width: 100%;
    min-height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000!important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: none!important;
    align-items: center;
    justify-content: center;
    font-family: IRANSansX, sans-serif !important;
    font-weight: normal;
}

.custom-form-reservation-container * {
    direction: rtl!important;
}

.custom-form-reservation-container.active {
    display: flex!important;
    align-items: center;
    justify-content: center;
    animation: animate-revealer-custom-window 0.25s ease-in-out forwards;
}

@keyframes animate-revealer-custom-window {
    0%{opacity: 0; visibility: hidden}
    100%{opacity: 1; visibility: visible}
}

.my-custom-btn {
    padding: 0.6vw 1vw;
    border-radius: 0.35vw;
    background-color: #287dfa;
    position: relative;
    outline: none;
    color: white;
    transition: all 0.25s ease-in-out;
    cursor: pointer;
    font-family: IRANSansX, sans-serif !important;
    font-weight: 500;
    border: 0.05vw solid #287dfa;
}

.my-custom-btn:hover {
    background-color: transparent;
    color: #287dfa;
}

.my-custom-btn:disabled {
    opacity: 0.5!important;
    cursor: not-allowed!important;
    filter: brightness(1) !important;
}

.my-custom-btn * {
    pointer-events: none!important;
}

form#custom-form-reservation {
    padding: 1.5vw 1vw;
    width: 27vw;
    height: 36vw;
    border-radius: 1vw;
    box-shadow: 0 0 0.75vw rgba(0, 0, 0, 0.2);
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between!important;
    align-items: start!important;
    gap: 1vw;
    background-color: white;
}

button#close-reservation-form-window {
    padding: 0.5vw;
    background-color: transparent;
    position: absolute!important;
    top: 0.45vw;
    left: 0.5vw;
    font-size: 14px;
    color: black;
    border: none!important;
}

button#close-reservation-form-window:hover {
    color: #ff0047;
    border: none!important;
}
form#custom-form-reservation button[type='submit'] {
    padding: 0.9vw;
    width: 100%;
    font-weight: 500;
    font-size: 14px;
}

form#custom-form-reservation .rooms-details-container {
    margin-top: 2vw;
    padding-bottom: 1vw;
    width: 100%;
    height: 66%;
    border-radius: 0.25vw;
    position: relative;
    scroll-behavior: smooth;
}

form#custom-form-reservation .rooms-details-container::before {
    content: "";
    width: 100%;
    height: 0.15vw;
    background: linear-gradient(to right, transparent, rgba(198, 198, 199, 0.75), transparent);
    position: absolute;
    bottom: -0.2vw;
    left: 0;
}

form#custom-form-reservation .rooms-details-container ul {
    width: 100%;
    height: 100%;
    gap: 0.5vw;
    overflow: auto;
    position: relative;
    scroll-behavior: smooth;
}

form#custom-form-reservation .rooms-details-container ul::-webkit-scrollbar {
    width: 0.5vw;
    background-color: rgba(40, 125, 250, 0.1);
}

form#custom-form-reservation .rooms-details-container ul::-webkit-scrollbar-thumb{
    width: 0.5vw;
    background-color: #287dfa;
    border-radius: 0.5vw;
}

form#custom-form-reservation .rooms-details-container ul li {
    margin-bottom: 1vw;
    width: 100%;
    min-height: 60%;
    position: relative;
    display: none!important;
    flex-direction: column;
    justify-content: start!important;
    align-items: center;
    gap: 0.5vw;
}

form#custom-form-reservation .rooms-details-container ul li.active {
    display: flex!important;
    animation: animate-revealer-room-list 0.2s ease-in-out forwards;
}

@keyframes animate-revealer-room-list {
    0%{opacity: 0; visibility: hidden}
    100%{opacity: 1; visibility: visible}
}

form#custom-form-reservation .rooms-details-container ul li .room-title {
    width: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

form#custom-form-reservation .rooms-details-container ul li h3 {
    padding: 0.75vw;
    width: 100%;
    text-align: center;
    background: rgba(192, 192, 192, 0.15);
    border-radius: 0.6vw;
    font-weight: bold;
    color: #5b5b5b;
    font-size: 14px;
}

form#custom-form-reservation .rooms-details-container ul li .room-title button.remove-room {
    position: absolute;
    left: 0.25vw;
    background: transparent!important;
    border: none!important;
    color: #525252;
    font-size: 14px;
    z-index: 2;
}

form#custom-form-reservation .rooms-details-container ul li .room-title button.remove-room:hover {
    color: #ff0047;
}

form#custom-form-reservation .rooms-details-container ul li .room-title button.remove-room i {
    transform: translateY(0.1vw);
}

form#custom-form-reservation .add-room-btn {
    padding: 0.5vw 0.5vw 0.5vw 1vw;
    width: 10vw;
    display: flex;
    justify-content: start!important;
    align-items: center;
    gap: 0.5vw;
    background: transparent!important;
    color: #287dfa!important;
    font-weight: bold;
    font-size: 14px;
    border: none!important;
}

form#custom-form-reservation .add-room-btn:hover {
    filter: brightness(1.25);
}

form#custom-form-reservation .room-options {
    width: 100%;
    min-height: 1vw;
    position: relative;
}

form#custom-form-reservation .room-options > div {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between!important;
}

form#custom-form-reservation .room-options > div.adults-count {
    border-bottom: 0.1vw dashed rgba(192, 192, 192, 0.25);
}

form#custom-form-reservation .room-options > div .divider {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between!important;
}

form#custom-form-reservation .room-options > div .divider.child-age {
    display: none!important;
}

form#custom-form-reservation .room-options > div .divider.child-age.active {
    display: flex!important;
    animation: animate-revealer-room-list 0.2s ease-in-out forwards;
}

form#custom-form-reservation .room-options > div .divider .right-division,
form#custom-form-reservation .room-options > div .divider .left-division {
    padding: 0.5vw;
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between!important;
    gap: 0.05vw!important;
    position: relative;
}

form#custom-form-reservation .room-options > div .divider .right-division {
    align-items: start!important;
    font-weight: bold;
    color: #5d5d5d;
    font-size: 14px;
}

form#custom-form-reservation .room-options > div .divider .right-division span {
    font-weight: normal;
    color: #b0b0b0;
    font-size: 14px;
}

form#custom-form-reservation .room-options > .children-count .divider:not(:first-child) .right-division span {
    padding-right: 0.5vw;
    display: flex;
    justify-content: start;
    align-items: center;
    font-size: 14px;
    color: #7c7c7c;
    font-weight: bold;
    gap: 0.3vw;
}

form#custom-form-reservation .room-options > div .divider .left-division {
    align-items: end!important;
}

form#custom-form-reservation .room-options > div .divider .left-division .room-opt-buttons {
    display: flex;
    justify-content: space-between!important;
    align-items: center!important;
    width: 72%;
    gap: 0.5vw;
}

form#custom-form-reservation .room-options > div .divider .left-division .room-opt-buttons button {
    padding: 0.25vw!important;
    background: transparent;
    color: #287dfa;
    font-size: 14px;
    border: none!important;
}

form#custom-form-reservation .room-options > div .divider .left-division .room-opt-buttons button:hover {
    filter: brightness(1.25);
}

form#custom-form-reservation .room-options > div .divider .left-division .room-opt-buttons span {
    font-weight: bold;
    font-size: 14px;
    color: #525252;
}

form#custom-form-reservation .room-options > div .divider .left-division select {
    padding: 0.5vw 0.75vw;
    min-width: 70%;
    background: rgba(192, 192, 192, 0.25);
    border: none;
    outline: none;
    border-radius: 0.4vw;
    font-family: IRANSansX, sans-serif !important;
    font-weight: normal;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s;
}

form#custom-form-reservation .room-options > div .divider .left-division select:hover {
    filter: brightness(0.75);
}

form#custom-form-reservation .room-options > div .divider .left-division select:disabled {
    filter: brightness(1);
    cursor: not-allowed;
}

form#custom-form-reservation .room-options > div .divider .left-division select option.hide {
    display: none;
}

form#custom-form-reservation .limited-children-msg {
    color: #ff0047;
    font-size: 14px;
    font-weight: 300;
    gap: 0.25vw;
    display: none!important;
}

form#custom-form-reservation .limited-children-msg.active {
    display: flex!important;
    align-items: center;
    justify-content: center;
    animation: animate-revealer-room-list 0.2s ease-in-out forwards;
}



form#custom-form-reservation {
    padding: 1.5vw 1vw;
    width: 350px;
    height: 500px;
    border-radius: 1vw;
    box-shadow: 0 0 0.75vw rgba(0, 0, 0, 0.2);
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between !important;
    align-items: start !important;
    gap: 1vw;
    background-color: white;
    margin-top: -200px;
}
