/* ==============================
	Commen Style
================================ */

body {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
}

p {
    font-size: 14px;
    margin: 0;
    font-weight: 400;
}

a:hover {
    text-decoration: none !important;
}

.button-primary {
    background-color: #F56B35 !important;
    color: #FFF !important;
    box-shadow: 0px 0px 17.8px 1px #00000040;
}

.button-primary:hover {
    color: #FFF;
}

.button-primary:active {
    color: #F56B35 !important;
    background-color: #fcd9ca !important;
    box-shadow: 0 0 0 2px #fcd9ca !important;
}

.button-light {
    border: 1px solid #F56B35;
    color: #F56B35;
}

.button-light:hover {
    color: #F56B35;
}

.gap-20 {
    gap: 20px;
}

.back-btn {
    padding-left: 45px !important;
    padding-right: 17px !important;
    height: 41px;
    font-size: 20px;
    font-weight: 500;
    position: relative;
    box-shadow: 0px 0px 16.1px -1px #00000040;
}

.back-btn::before {
    content: url("/assets/ebookings/images/icons/back.svg");
    width: 20px;
    height: 20px;
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Hide default checkbox */
input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 16px !important;
    height: 16px !important;
    border: 1px solid #F56B35;
    border-radius: 4px;
    cursor: pointer;
    position: relative;
    margin-right: 8px !important;
}

/* Checked state */
input[type="checkbox"]:checked {
    background-color: #F56B35 !important;
    background-image: url("/assets/ebookings/images/icons/check.svg");
    border: 1px solid #fcd9ca;
    background-size: 70%;
}

input[type=checkbox]:focus,
.button-primary:focus {
    box-shadow: 0 0 0 2px #fcd9ca;
}

input:focus {
    border: 1px solid #F56B35 !important;
}

input:focus-visible {
    outline: none;
}

.show-more-btn {
    border-radius: 16px;
    box-shadow: none;
    color: #FFFFFFBD;
    font-weight: 500;
    font-size: 12px;
    line-height: 18px;
    padding-right: 22px !important;
    position: relative;
    margin-bottom: 10px;
}

.show-more-btn::after {
    content: url("/assets/ebookings/images/icons/white-arrow.svg");
    width: 12px;
    height: 12px;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
}

select:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px #fcd9ca;
}

/* ---------- Header ----------  */
header {
    border-bottom: 1px solid #E5E5E5;
}

.custom-navbar {
    height: 80px;
    max-height: 80px;
}

.custom-navbar .logo-wrapper {
    width: 100px;
    height: 45px;
}

.custom-navbar .logo-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.custom-navbar .btns .btn {
    border-radius: 7px;
    box-shadow: 0px 0px 16.1px -1px #00000040;
    width: 117px;
    height: 41px;
    font-weight: 500;
    font-size: 20px;
    text-decoration: none;
}

/* ---------- Footer ---------- */
footer {
    border-top: 2px solid #FFBBA0;
}

footer .site-map {
    background-color: #FFF0EA;
    padding: 50px 0 30px 0;
}


footer .site-map .footer-logo-div,
footer .site-map .ul-wrapper {
    width: 25%;
}

.footer-logo-div .footer-logo-wrapper {
    display: inline-block;
    width: 237px;
    height: 107px;
    margin-bottom: 20px;
}

.footer-logo-div .footer-logo-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.footer-logo-div p {
    font-weight: 500;
    font-size: 20px;
    color: #000000;
}

footer .copy-right-wrapper {
    background-color: #F56B35;
}

footer .copy-right-wrapper p {
    color: #F5F6F8;
    padding: 6px 0;
}

footer .copy-right-wrapper p span {
    font-weight: 500;
}

footer .ul-wrapper p {
    font-weight: 600;
    font-size: 16px;
    text-transform: uppercase;
    color: #25409C;
    margin-bottom: 20px;
}

footer .ul-wrapper ul {
    padding-left: 0;
    list-style: none;
}

footer .ul-wrapper ul li a,
footer .ul-wrapper ul li p {
    font-size: 14px;
    font-weight: 400;
    color: #484848;
    display: inline-block;
    margin-bottom: 15px;
}

footer .ul-wrapper ul li a.btn {
    width: 100%;
    height: 32px;
    font-size: 16px;
    margin-top: 5px;
    box-shadow: none;
    border-radius: 5px;
}

/* ---------- Breadcrumb ---------- */
.breadcrumb-wrapper {
    padding-left: 82px;
    margin-top: 37px;
}

.breadcrumb-wrapper a.breadcrumb-link,
.breadcrumb-wrapper .breadcrumb-separator {
    font-weight: 300;
    font-size: 18px;
    color: #B0B0B0;
}

.breadcrumb-wrapper .breadcrumb-current {
    color: #F56B35;
    font-weight: 500;
    font-size: 18px;
}

/* ==============================
	Home Page Style
================================ */

/* ---------- Hero Section ---------- */

.hero-section {
    background-color: #F56B35;
    padding-top: 103px;
    padding-bottom: 494px;
}

.hero-section .hero-img-wrapper {
    width: 478px;
    height: 212px;
    margin: auto;
    margin-bottom: 30px;
}

.hero-section .hero-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.hero-section p.hero-text {
    font-weight: 700;
    font-size: 64px;
    text-align: center;
    margin: auto;
    color: #FFF;
}

/* ---------- Hote list Section ---------- */
.hotel-list {
    position: relative;
    margin-top: -425px;
    margin-bottom: 123px;
}

.hotel-list-wrapper {
    background-color: #FFF0EA;
    border-radius: 42px;
    padding: 75px 90px;
}

.cards-flex {
    display: flex;
    flex-wrap: wrap;
    gap: 37px;
}

/* Default: 2 cards per row */
.hotel-card {
    flex: 0 0 calc(50% - 20px);
    margin-bottom: 10px;
    height: 350px;
    border-radius: 25px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
}

.hotel-card .hotel-card-overlay {
    width: 100%;
    height: 100%;
    background: linear-gradient(180.1deg, rgba(0, 0, 0, 0) 30.21%, rgba(0, 0, 0, 0.5) 80.12%);
    border-radius: 25px;
}

/* 1 CARD → 100% */
.hotel-card:only-child {
    flex: 0 0 100%;
}

/* 2 CARDS → both 100% */
.hotel-card:first-child:nth-last-child(2),
.hotel-card:first-child:nth-last-child(2)~.hotel-card {
    flex: 0 0 100%;
}

/* ODD COUNT (>2): last card → 100% */
.hotel-card:last-child:nth-child(odd) {
    flex: 0 0 100%;
}

.hotel-card:last-child {
    margin-bottom: 0;
}

.hotel-card .hotel-name {
    background-color: #000;
    color: #FFF;
    width: 235px;
    height: 56px;
    border-top-right-radius: 25px;
    border-bottom-left-radius: 25px;
    position: absolute;
    top: 0;
    right: 0;
    font-weight: 500;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hotel-card .bottom-row {
    position: absolute;
    bottom: 40px;
    left: 31px;
    right: 43px;
}

.hotel-card p.room-type {
    font-weight: 400;
    font-size: 20px;
    margin-bottom: 10px;
    color: #FFF;
}

.hotel-card p.address {
    font-weight: 300;
    font-size: 15px;
    color: #FFF;
}

.hotel-card a.book-btn {
    width: 113px;
    height: 54px;
    color: #FFFCFC !important;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 20px;
}


/* ==============================
	Hotel Details Page Style
================================ */
.hotel-info {
    margin-top: 128px;
    margin-bottom: 78px;
}

.hotel-info .back-btn {
    margin-bottom: 28px;
}

.hotel-info .left-div {
    width: 45%;
    position: relative;
    margin-top: -50px;
}

.hotel-info .right-div {
    width: 45%;
}

.left-div .hotel-name {
    color: #000;
    font-weight: 700;
    font-size: 64px;
    margin-bottom: 16px;
}

.left-div .hotel-preiv {
    color: #B0B0B0;
    font-weight: 300;
    font-size: 20px;
    margin-bottom: 60px;
    width: 80%;
}

.left-div .insights {
    width: 70%;
}

.left-div .insights .insight {
    margin-right: 50px;
}

.left-div .insight p {
    font-weight: 300;
    font-size: 16px;
    color: #B0B0B0;
}

.left-div .insight p span {
    font-weight: 500;
    color: #152C5B;
}

.insight-icon {
    display: inline-block;
    width: 32px;
    height: 32px;
    margin-bottom: 10px;
    background-size: contain;
    background-repeat: no-repeat;
}

span.users-icon {
    background-image: url("/assets/ebookings/images/icons/users.png");
}

span.treasure-icon {
    background-image: url("/assets/ebookings/images/icons/treasure.png");
}

span.cities-icon {
    background-image: url("/assets/ebookings/images/icons/cities.png");
}

.right-div .image-card {
    border: 2px solid #E5E5E5;
    border-top-left-radius: 100px;
    border-top-right-radius: 15px;
    border-bottom-right-radius: 15px;
    border-bottom-left-radius: 15px;
    position: relative;
    width: 100%;
    height: 400px;
}

.right-div .image-wrapper {
    position: absolute;
    top: -50px;
    left: -50px;
    width: 100%;
    height: 100%;
}

.right-div .image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-top-left-radius: 100px;
    border-top-right-radius: 15px;
    border-bottom-right-radius: 15px;
    border-bottom-left-radius: 15px;
}

.search-section {
    margin-bottom: 87px;
}

.search-section .search-form-wrapper {
    padding: 30px 35px;
    background-color: #FFF0EA;
    border-radius: 42px;
}

.search-section .search-form {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.select-wrapper {
    position: relative;
}

.search-section .search-form .form-custom-select,
.search-section .search-form .search-form-item {
    padding-left: 75px;
    padding-right: 80px;
    box-shadow: 0px 4px 5px 0px #00000040;
    height: 60px;
    color: #1E1E1E;
    font-weight: 600;
    font-size: 16px;
    background-color: #FFF;
    border: none;
    border-radius: 12px;
    cursor: pointer;
}

.search-section .search-form span.check-available {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    padding-right: 23px;
}

.search-form .select-wrapper::before,
.search-form .check-available::before {
    width: 24px;
    height: 24px;
    position: absolute;
    left: 24px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.form-custom-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    background-image: url("/assets/ebookings/images/icons/arrow_down.svg");
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 20px 12px;
}

.select-wrapper.select-person .form-custom-select {
    min-width: 220px;
    text-align: center;
    padding-left: 130px;
    padding-right: 50px;
}

.select-wrapper.select-person::after {
    content: "Person";
    position: absolute;
    left: 65px;
    top: 50%;
    transform: translateY(-50%);
    color: #1E1E1E;
    font-weight: 600;
    font-size: 16px;
}

.select-wrapper.select-person::before {
    content: url("/assets/ebookings/images/icons/person.svg");
}

.select-wrapper.select-room::before {
    content: url("/assets/ebookings/images/icons/location.svg");
}

.check-available::before {
    content: url("/assets/ebookings/images/icons/calender.svg");
}

.search-section .search-form .search-btn {
    border-radius: 12px;
    padding: 15px 32px;
    font-weight: 600;
    font-size: 20px;
    color: #FFFCFC;
}

.map-section {
    background-color: #F56B35;
    padding: 71px 85px;
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
}

.map-section .map-wrapper {
    width: 100%;
    height: 430px;
    box-shadow: 0px 4px 4px 0px #00000040;
}

.map-section .map-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
}


/* ==============================
	Search Page Style
================================ */
.filters-div {
    width: 23%;
    min-width: 23%;
    margin-top: 133px;
}

.list-div {
    width: 77%;
    min-width: 77%;
}

.filters-div .filters {
    padding: 10px 60px;
}

.search-form p.filter-name {
    font-weight: 600;
    font-size: 14px;
    color: #484848;
    margin-bottom: 10px;
}

.search-form label.checkbox {
    font-weight: 400;
    font-size: 14px;
    color: #484848;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    line-height: 24px;
}

.search-form .budget-inputs,
.search-form .dates-inputs {
    gap: 10px;
    margin-bottom: 10px;
}

.search-form .budget-inputs input,
.search-form .dates-inputs input {
    width: 50%;
    height: 44px;
    border: 1px solid #F56B35;
    box-shadow: 0px 1px 2px 0px #1018280D;
    border-radius: 8px;
    color: #F56B35;
    padding: 0 14px;
    font-size: 16px;
}

.search-form .budget-inputs input::placeholder {
    color: #F56B35;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
}

.search-form .more-options {
    display: none;
    margin-top: 6px;
}

.search-form .dates-inputs input {
    font-size: 12px;
}

.list-div {
    padding: 70px 100px 70px 60px;
}

.list-div .btns-row {
    margin-bottom: 22px;
}

.sort-container select {
    border: 1px solid #F56B35;
    box-shadow: 0px 1px 2px 0px #1018280D;
    border-radius: 8px;
    height: 42px;
    padding: 0 14px;
    background-color: #FFF;
    color: #F56B35;
}

.cards-container {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: space-between;
}

.cards-container .search-card {
    width: 32%;
    border: 1px solid #E5E9EB;
    border-radius: 5px;
    padding: 10px;
}

.cards-container .search-card .card-img-wrapper {
    width: 100%;
    height: 200px;
    margin-bottom: 5px;
}

.search-card .card-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.search-card p.room-name {
    font-weight: 400;
    font-size: 14px;
    color: #252C32;
}

.search-card p.room-price {
    font-weight: 400;
    font-size: 14px;
    line-height: 11px;
    color: #6C6B6B;
}

.search-card p.room-price span {
    font-weight: 800;
    font-size: 16px;
}

.mb5 {
    margin-bottom: 5px;
}

.search-card p.room-subtitle {
    color: #A7A7A7;
    font-weight: 400;
    font-size: 13px;
    line-height: 24px;
}


.search-card .spans span.card-span {
    background-color: #F2F4F7;
    border-radius: 16px;
    padding: 2px 8px 2px 22px;
    position: relative;
    margin-right: 5px;
    margin-bottom: 5px;
    display: inline-block;
}

.search-card .spans span.card-span::before {
    width: 12px;
    height: 12px;
    position: absolute;
    left: 6px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.search-card .spans span.card-span.bills::before {
    content: url("/assets/ebookings/images/icons/ell.svg");
}

.search-card .spans span.card-span.ell::before {
    content: url("/assets/ebookings/images/icons/verifiy.svg");
}

/* ==============================
	Roon Details Page Style
================================ */
.room-details {
    padding-top: 87px;
    padding-bottom: 155px;
}

.room-details .room-title {
    color: #000;
    font-weight: 500;
    font-size: 50px;
    text-align: center;
}

.room-details .room-subtitle {
    font-weight: 300;
    font-size: 32px;
    color: #F56B35;
    text-align: center;
}

.room-details .room-subtitle span {
    font-weight: 500;
}

.room-details .gallary {
    width: 56%;
    min-width: 56%;
    max-width: 56%;
}

.room-details .gallery-row {
    margin-top: 50px;
    margin-bottom: 60px;
}

.gallery {
    width: 100%;
    margin: auto;
}

.main-image {
    width: 100%;
    height: 300px;
    margin-bottom: 10px;
}

.main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 15px;
}

/* Thumbnails */
.thumbnails {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    flex-wrap: nowrap;
    overflow-x: auto;
}

.thumb {
    width: 150px;
    min-width: 150px;
    height: 118px;
    object-fit: cover;
    cursor: pointer;
    border-radius: 15px;
    opacity: 0.8;
    transition: 0.3s;
}

.thumb:hover {
    opacity: 1;
}

.thumb.active {
    opacity: 1;
    /* border-color: #ff6a00; */
}

.room-details .booking-wrapper {
    width: 42%;
    min-width: 42%;
    padding: 60px 70px;
    border: 3px solid #F56B35;
    border-radius: 15px;
}

.room-details .booking-wrapper p.title {
    color: #000;
    font-weight: 500;
    font-size: 32px;
    line-height: 100%;
    margin-bottom: 10px;
}

.room-details .booking-wrapper p.price {
    font-weight: 300;
    font-size: 40px;
    color: #B0B0B0;
    margin-bottom: 35px;
    line-height: 100%;
}

.room-details .booking-wrapper p.price span {
    color: #43D649;
    font-weight: 500;
    font-size: 40px;
}

.room-details .booking-wrapper .book-now-btn {
    height: 56px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 0px 16.1px -1px #00000040;
    font-weight: 500;
    font-size: 24px;
}

.room-details .about-room {
    width: 50%;
    margin-bottom: 80px;
}

.room-details .about-room p:first-child {
    font-weight: 500;
    font-size: 20px;
    line-height: 100%;
    margin-bottom: 10px;
}

.room-details .about-room p:last-child {
    font-weight: 300;
    font-size: 16px;
    line-height: 170%;
    letter-spacing: 0%;
}

.room-details .room-items {
    list-style: none;
    padding-left: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 0;
}

.room-details .room-items li {
    margin-right: 50px;
    color: #B0B0B0;
    font-weight: 300;
    font-size: 16px;
    line-height: 170%;
    letter-spacing: 0%;

}

.room-details .room-items li span.item-count {
    font-weight: 500;
    color: #152c5b;
}

.room-details .room-items span.room-icon {
    display: block;
    width: 38px;
    height: 38px;
    margin-bottom: 8px;
    background-size: contain;
}

span.room-icon.bedroom {
    background-image: url("/assets/ebookings/images/icons/bedroom.png");
}

span.room-icon.living {
    background-image: url("/assets/ebookings/images/icons/living.png");
}

span.room-icon.bathroom {
    background-image: url("/assets/ebookings/images/icons/bathroom.png");
}

span.room-icon.dining {
    background-image: url("/assets/ebookings/images/icons/dining.png");
}

span.room-icon.wifi {
    background-image: url("/assets/ebookings/images/icons/wifi.png");
}

span.room-icon.ac {
    background-image: url("/assets/ebookings/images/icons/ac.png");
}

span.room-icon.refrigerator {
    background-image: url("/assets/ebookings/images/icons/refrigerator.png");
}

span.room-icon.tv {
    background-image: url("/assets/ebookings/images/icons/tv.png");
}


/* ==============================
	Login / Sign up Style
================================ */
.custom-auth .logo-wrapper {
    width: 424px;
    height: 188px;
    margin: auto;
}

.custom-auth .logo-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.custom-auth .auth-btns {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60%;
    height: 80px;
    margin: auto;
    margin-top: 80px;
    margin-bottom: 75px;
}

.custom-auth .auth-btns a {
    width: 50%;
    height: 100%;
    background-color: #FFF;
    border: 2px solid #F56B35;
    font-weight: 500;
    font-size: 30px;
    line-height: 100%;
    color: #F56B35;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.custom-auth .auth-btns a.active {
    background-color: #F56B35;
    color: #FFF;
}

.custom-auth .auth-btns a:first-child {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

.custom-auth .auth-btns a:last-child {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

.custom-auth .login-content {
    width: 60%;
    max-width: 60% !important;
    margin: auto !important;
    background: none !important;
    border: 1px solid #F56B35 !important;
    padding: 20px 15px !important;
}

.custom-auth p.title {
    color: #000;
    font-weight: 300;
    font-size: 48px;
    line-height: 100%;
    letter-spacing: 0%;
    margin-bottom: 40px;
}

.custom-auth .page-card form,
.custom-auth .for-forgot .page-card form,
.custom-auth-with-email-link .page-card form,
.custom-auth .for-signup .page-card form,
.custom-auth .for-email-login .page-card form {
    width: 100%;
    max-width: 100%;
}

.custom-auth p.form-p {
    color: #484848;
    margin-bottom: 20px;
    font-weight: 600;
    font-size: 24px;
    line-height: 100%;
    letter-spacing: 0%;
}

label.form-label {
    color: #344054;
    font-weight: 500 !important;
    font-size: 20px !important;
    line-height: 20px;
    margin-bottom: 6px;
}

.custom-auth form input,
.custom-auth form select {
    height: 62px;
    padding: 0 15px !important;
    margin-bottom: 30px !important;
    background-color: #FFF !important;
    box-shadow: 0px 1px 2px 0px #1018280D;
    border: 1px solid #D0D5DD !important;
    color: #667085 !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 24px;
    border-radius: 8px;
}

.custom-auth form input::placeholder {
    color: #667085 !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 24px;
}

.custom-auth .page-card .page-card-body .password-field .toggle-password {
    top: 50% !important;
    transform: translateY(-50%) !important;
}

form .page-card-actions button {
    height: 75px;
    font-weight: 500;
    font-size: 30px;
    line-height: 100%;
    color: #FFF !important;
    box-shadow: none;
}

form .page-card-actions button.btn.btn-primary {
    background-color: #F56B35 !important;
}

.custom-auth .for-login .page-card form,
.custom-auth .for-forgot .page-card form,
.custom-auth .for-login-with-email-link .page-card form,
.custom-auth .for-signup .page-card form,
.custom-auth .for-email-login .page-card form {
    width: 100%;
    max-width: 100%;
}

.custom-auth .for-signup form input {
    height: 44px !important;
}

.custom-auth form select {
    height: 44px !important;
    display: block;
    width: 100%;
}

.form-verify-icon {
    width: 280px;
    height: 60px;
    margin: auto;
    margin-bottom: 50px;
}

.form-verify-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.custom-form-verify .page-card-head p {
    font-weight: 600;
    font-size: 36px;
    line-height: 100%;
    color: #152C5B;
    margin-bottom: 75px;
}

.custom-auth .verify-div {
    width: 40%;
    max-width: 40% !important;
    margin: auto !important;
    background: none !important;
    border: none !important;
    padding: 20px 15px !important;
    padding-top: 170px !important;
}

.custom-form-verify #qr_info {
    text-align: center;
    color: #484848;
    font-weight: 600;
    font-size: 24px;
    line-height: 100%;
}

.custom-form-verify #verify_otp_code {
    background-color: #F56B35 !important;
    height: 60px;
    font-weight: 500;
    font-size: 30px;
    line-height: 100%;
    color: #FFF !important;
    box-shadow: none;
    border-radius: 10px;
}

#page-login {
    padding-bottom: 170px;
}

.verifiy-back-btn {
    position: absolute;
    top: 90px;
    left: 90px;
}

/* ==============================
	Booking Details Page
================================ */
.booking-details {
    padding: 100px 75px;
}

.booking-details .booking-form-wrapper,
.booking-details .room-details-wrapper {
    width: 50%;
}

.booking-form-wrapper .form-wrapper {
    border: 1px solid #DFE3E7;
    padding: 20px 12px;
    border-radius: 10px;
}

.booking-details p.form-head {
    font-weight: 300;
    font-size: 48px;
    line-height: 100%;
    color: #000;
    margin-bottom: 30px;
    margin-top: 52px;
    text-align: left;
    padding-left: 60px;
}

.booking-form input,
.promo-code form input,
.booking-form select {
    height: 44px;
    box-shadow: 0px 1px 2px 0px #1018280D;
    border: 1px solid #D0D5DD;
    background-color: #FFF;
    padding: 0 15px;
    color: #667085;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    border-radius: 8px;
}

.booking-form input:disabled,
.booking-form select:disabled {
    background-color: #DFE3E7;
}

.booking-form select {
    display: block;
    width: 100%;
}

textarea {
    padding: 10px 14px !important;
    box-shadow: 0px 1px 2px 0px #1018280D;
    border: 1px solid #D0D5DD !important;
    background-color: #FFF !important;
    color: #667085 !important;
}

.booking-form textarea {
    min-height: 223px;
}

.booking-form label.form-label {
    font-size: 14px !important;
}

p.section-title {
    margin-bottom: 20px;
    color: #484848;
    font-weight: 600;
    font-size: 18px;
    line-height: 100%;
}

.form-control:focus {
    color: #667085 !important;
    background-color: #fff !important;
    border-color: #fcd9ca !important;
    outline: 0;
    box-shadow: 0 0 0 2px #fcd9ca !important;
}

.booking-details .room-details-wrapper {
    padding: 20px;
    box-shadow: 0px 4px 10px 0px #0000001A;
    border: 1px solid #F56B35;
    border-radius: 10px;
}

.room-details-wrapper p.hotel-name {
    font-weight: 500;
    font-size: 48px;
    line-height: 100%;
    color: #F56B35;
    margin-bottom: 10px;
    text-align: center;
}

.room-details-wrapper .hotel-img-wrapper {
    width: 100%;
    height: 330px;
    margin-bottom: 10px;
}

.room-details-wrapper .hotel-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.room-details-wrapper p.room-name {
    font-weight: 500;
    font-size: 24px;
    line-height: 24px;
    color: #000;
    margin-bottom: 10px;
}

.room-details-wrapper p.location {
    padding-left: 25px;
    position: relative;
    margin-bottom: 10px;
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    color: #F56B35;
}

.room-details-wrapper p.location::before {
    content: url("/assets/ebookings/images/icons/location-v.svg");
    width: 15px;
    height: 20px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.room-details-wrapper label.form-label {
    font-size: 14px !important;
    line-height: 20px;
    color: #344054;
    margin-bottom: 6px;
}

.room-details-wrapper .custom-date:disabled {
    padding-right: 42px;
    padding-left: 42px;
    position: relative;
    border: 1px solid #D0D5DD;
    box-shadow: 0px 1px 2px 0px #1018280D;
    background: #DFE3E7;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #667085;
    height: 44px;
}

.room-details-wrapper .custom-date::before {
    content: url("/assets/ebookings/images/icons/dis-calendar-days.svg");
    width: 20px;
    height: 20px;
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
}

.room-details-wrapper .custom-date::after {
    content: url("/assets/ebookings/images/icons/disabled-arrow.svg");
    width: 20px;
    height: 20px;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
}

.price-details p {
    font-weight: 600;
    font-size: 16px;
    line-height: 100%;
    color: #000;
    margin-bottom: 10px;
}

.price-details table {
    width: 100%;
    border: none;

}

.price-details table tr td {
    padding-bottom: 10px;
}

.price-details table tr td:first-child {
    font-weight: 400;
    font-size: 14px;
    line-height: 100%;
    color: #000;
}

.price-details table tr td:last-child {
    text-align: right;
    font-weight: 600;
    font-size: 14px;
    line-height: 100%;
    color: #000;
}

.price-details table tr.total td:first-child {
    font-weight: 600;
    font-size: 16px;
}

.price-details table tr.total td:last-child {
    font-weight: 700;
    font-size: 16px;
}

.promo-code p.row-title {
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    color: #344054;
    margin-bottom: 6px;
}

.promo-code form button.promo-code-btn {
    height: 44px;
    box-shadow: 0px 1px 2px 0px #1018280D;
    width: 100%;
}


/* ==============================
	Payment Methods Page
================================ */
.payment-card-wrapper {
    padding-top: 40px;
}

.payment-card-wrapper p {
    text-align: center;
    line-height: 100%;
}

.payment-card-wrapper p.card-head {
    font-weight: 600;
    font-size: 46px;
    line-height: 100%;
    text-align: center;
    color: #F56B35;
    margin-bottom: 8px;
}

.payment-card-wrapper p.card-sub-head {
    font-weight: 300;
    font-size: 24px;
    color: #000000;
    margin-bottom: 70px;
}

.payment-card-wrapper ul.payment-method-list {
    list-style: none;
    background-color: #fff;
    padding: 15px 26px;
    box-shadow: 0px 8px 40px 0px #00003D0D;
    width: 37%;
    margin: auto;
    border-radius: 32px;

}

ul.payment-method-list p.ul-title {
    margin-bottom: 8px;
    text-align: left;
    color: #57534E;
    font-weight: 500;
    font-size: 28px;
    padding-top: 15px;
}

ul.payment-method-list li {
    margin-bottom: 8px;
    padding: 14px 0;
}

ul.payment-method-list li a span.li-icon {
    display: inline-block;
    margin-right: 12px;
    max-width: 118px;
    height: 32px;
}

ul.payment-method-list li a {
    color: #1C1917;
    font-weight: 400;
    font-size: 20px;
    line-height: 20px;
}


/* ==============================
	My Bookings Page
================================ */
section.bookings-table {
    padding-bottom: 120px;
}

.bookings-table .section-head {
    position: relative;
    padding: 40px 0;
}

.bookings-table .section-head p {
    font-weight: 600;
    font-size: 40px;
    line-height: 100%;
    text-align: center;
    color: #F56B35;
}

.bookings-table .section-head .back-btn {
    position: absolute;
    left: 0;
    bottom: 24px;
}

.bookings-table .table-wrapper {
    box-shadow: 0px 1px 2px 0px #1018280F;
    /* box-shadow: 0px 1px 3px 0px #1018281A; */
    border-radius: 12px;
}

.table-wrapper .table-filters {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 5px;
    padding-right: 16px;
    padding-bottom: 5px;
    padding-left: 5px;

}

.table-wrapper .table-filters p {
    width: 40%;
    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    color: #6C6B6B;
    padding-left: 22px;
}

.table-wrapper .table-filters .filters-form {
    width: 60%;
}

.table-filters .filters-form form {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.filters-form form input.date-inputs {
    width: 157px;
    height: 44px;
    padding: 0 30px;
}

.filters-form form input {
    border: 1px solid #D0D5DD;
    box-shadow: 0px 0px 0px 0px #00000003;
    border-radius: 8px;
    color: #667085;
    font-weight: 400;
    font-size: 15px;
    line-height: 100%;
}

.search-input-wrapper input.search-input {
    padding-left: 42px;
    padding-right: 15px;
    height: 44px;
}

.search-input-wrapper {
    position: relative;
}

.search-input-wrapper::before {
    content: url("/assets/ebookings/images/icons/search.svg");
    width: 20px;
    height: 20px;
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
}

table.bookings-table {
    width: 100%;

}

table.bookings-table th {
    font-weight: 500;
    font-size: 12px;
    line-height: 18px;
    color: #475467;
    padding: 18px 0;
}

table.bookings-table tr {
    border-bottom: 1px solid #EAECF0;
}

table.bookings-table tr.active {
    background-color: #FFE0CB;
}

table.bookings-table tr.active td span.arrow-icon {
    transform: rotate(180deg);
}

table.bookings-table th:first-child,
table.bookings-table tr td:first-child {
    padding-left: 24px !important;
}

table.bookings-table tr td:last-child {
    padding-right: 18px !important;
    text-align: center;
}

table.bookings-table td.hotel span.hotel-img-wrapper {
    display: inline-block;
    width: 40px;
    max-width: 40px;
    height: 40px;
    margin-right: 10px;
}

table.bookings-table td.hotel span.hotel-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
}

table.bookings-table td {
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: #484848;
    padding: 16px 0;
}

table.bookings-table td.hotel {
    font-weight: 500;
}

table.bookings-table td span.status {
    display: inline-block;
    font-weight: 500;
    font-size: 12px;
    line-height: 18px;
    text-align: center;
    padding: 2px 8px 2px 20px;
    position: relative;
    border-radius: 16px;
}

table.bookings-table td span.status::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 100%;
    position: absolute;
    left: 7px;
    top: 50%;
    transform: translateY(-50%);
}

table.bookings-table td span.status.rejected {
    color: #B42318;
    background-color: #FFE0DE;
}

table.bookings-table td span.status.rejected::before {
    background-color: #F04438;
}

table.bookings-table td span.status.booked {
    color: #B54708;
    background-color: #FFF1C9;
}

table.bookings-table td span.status.booked::before {
    background-color: #F79009;
}

table.bookings-table td span.status.approved {
    color: #027A48;
    background-color: #C3FFDB;
}

table.bookings-table td span.status.approved::before {
    background-color: #12B76A;
}

table.bookings-table td span.arrow-icon {
    display: inline-block;
    width: 13px;
    height: 7px;
    background-image: url("/assets/ebookings/images/icons/disabled-arrow.svg");
    background-repeat: no-repeat;
    background-size: contain;
    cursor: pointer;
    transition: transform 0.3s ease;
}

table.bookings-table tr.details-row {
    background-color: #FFF5EE;
    padding: 20px;
    display: none;
}

tr.details-row.row-display {
    display: table-row !important;
}

table.bookings-table tr.details-row .details {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

table.bookings-table tr.details-row .details .details-img-wrapper {
    width: 27%;
    max-width: 27%;
    margin-right: 20px;
    height: 200px;
}

tr.details-row .details .details-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}


table.bookings-table tr.details-row .details .hotel-booking-info {
    width: 17%;
    max-width: 17%;
}

table.bookings-table tr.details-row .details .check-details {
    width: 21%;
    max-width: 21%;
}

table.bookings-table tr.details-row .details .policies {
    width: 31%;
    max-width: 31%;
}

.details .hotel-booking-info p.hotel-name {
    font-weight: 700;
    font-size: 20px;
    line-height: 22px;
    color: #484848;
    margin-bottom: 9px;
    text-align: left;
}

.details .hotel-booking-info p.room-name {
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: #F56B35;
    margin-bottom: 19px;
    text-align: left;
}

.details .hotel-booking-info span.payment-status {
    display: inline-block;
    width: 100%;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    text-align: center;
    margin-bottom: 14px;
    padding: 8px 0;
    border-radius: 8px;
}

span.payment-status.not-paid {
    background-color: #FFDAD6;
    color: #FC1B0C;
}

span.payment-status.paid {
    background-color: #D4FFD6;
    color: #2DAE32;
}

.details .hotel-booking-info span.booking-status {
    display: inline-block;
    width: 100%;
    background-color: #F56B35;
    border-radius: 8px;
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    text-align: center;
    padding: 8px 0;
    position: relative;
}

.details .hotel-booking-info span.booking-status::before {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
}

.details .hotel-booking-info span.booking-status.approved::before {
    width: 17px;
    height: 12px;
    content: url("/assets/ebookings/images/icons/approve-check.svg");
}

.details .hotel-booking-info span.booking-status.rejected::before {
    width: 9px;
    height: 16px;
    content: url("/assets/ebookings/images/icons/X.svg");
}

.details .hotel-booking-info span.booking-status.waiting::before {
    width: 20px;
    height: 20px;
    content: url("/assets/ebookings/images/icons/timer.svg");
}

.details .check-details p {
    font-weight: 400;
    font-size: 13px;
    line-height: 20px;
    margin-bottom: 20px;
    color: #6C6B6B;
}

.details .check-details p span {
    font-weight: 700;
}

.details .policies p {
    line-height: 20px;
    color: #6C6B6B;
    margin-bottom: 10px;
}

.details .policies .policies-title {
    text-align: center;
    font-weight: 600;
    font-size: 13px;
}

.details .policies .policies-description {
    font-weight: 400;
    font-size: 12px;
    text-align: left;
}

.details .policies button.cancel-btn {
    background-color: #FFF;
    border-radius: 8px;
    box-shadow: 0px 1px 2px 0px #1018280D;
    padding: 8px 14px;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;

}