﻿/*#bookingcontainer {
padding-top:70px;
}*/
.tenurewrap {
    max-width: 800px;
    margin: auto;
}
.sectiontitle h2 {
font-weight:700;
}
.stay-options {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 14px;
    padding-bottom: 7%;
}

.stay-card {
    background: #f1f1f1;
    border-radius: 10px;
    padding: 22px 12px;
    text-align: center;
    cursor: pointer;
    transition: 0.3s ease;
    min-height: 180px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

    .stay-card i {
        font-size: 34px;
        margin-bottom: 14px;
    }

    .stay-card h3 {
        margin-top: 12px;
        font-size: 20px;
        margin-bottom: 8px;
        font-weight: 700;
    }

    .stay-card p {
        font-size: 12px;
        color: #000;
    }

    /* Icon swap */
    .stay-card .icon-active { display: none; }
    .stay-card.active .icon-default { display: none; }
    .stay-card.active .icon-active { display: block; }

    /* Active Class */
    .stay-card.active {
        background: #000;
        color: #fff;
    }
    .lockin-card.active {
        background: #000;
        color: #fff!important;
    }
.lockin-card2.active {
    background: #000;
    color: #fff !important;
}

        .stay-card.active p {
            color: #ddd;
        }
.lockin-card.active p {
    color: #ddd;
}
.tenurewrap .sectiontitle {
    padding: 7% 0;
    display: flex;
    justify-content: center;
    align-items: self-start;
    gap: 10px;
}
.sectiontitle img {
cursor:pointer;
}
.booking-form {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    column-gap: 50px;
    row-gap: 20px;
    margin-bottom: 7%;
}
.Guest-form {
    display: grid;
    /* grid-template-columns: repeat(2,1fr);
    column-gap: 50px;
    row-gap: 20px;
    margin-bottom: 7%;*/
    width: 50%;
    margin: 0 auto;
}
.booking-box {
    position:relative;
    background: #fff;
    border: 1.5px solid #1d1d1d;
    border-radius: 12px;
    padding: 16px 18px;
    min-height: 84px;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}
.lockin-card {
    background: #fff;
    border: 1.5px solid #1d1d1d;
    border-radius: 12px;
    padding: 40px 18px;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}
.lockin-card2 {
    background: #fff;
    border: 1.5px solid #1d1d1d;
    border-radius: 12px;
    padding: 40px 18px;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}
    .booking-box input:focus-visible {
    outline:none;
    }
.text-black {
color:#000!important;
}
.lockinwrap {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    column-gap: 80px;
    row-gap: 20px;
}
.lockin-card h2 {
    margin-bottom: 0px;
    margin-bottom: 0px;
    font-size: 50px;
    font-weight: 700;
}
.lockin-card2 h2 {
    margin-bottom: 0px;
    margin-bottom: 0px;
    font-size: 50px;
    font-weight: 700;
}

.lockinblock p {
margin-bottom:10px;
}
/* Applied Offers */
.applied-offers-wrap {
    max-width: 800px;
}
.applied-offers-wrap .sectiontitle {
   
}
.offers-grid .offer-col {
min-width:290px;
}
.offers-grid {
    display: grid;
    /* grid-template-columns: repeat(3, 1fr);*/
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    justify-content: center;
    gap: 20px;
}
.offer-label {
    margin-bottom: 10px;
}
.offer-card {
    background: #fff;
    border: 1.5px solid #1d1d1d;
    border-radius: 12px;
    padding: 30px 18px;
    min-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.offer-card h2 {
    margin-bottom: 0;
    font-size: 36px;
    font-weight: 700;
}
.offer-desc {
    margin-top: 8px;
    font-size: 13px;
}
.payment-option-section {
margin-top:4%;
margin-bottom:5%;
}
.payment-option input[type="radio"]:not(:checked) {
    opacity: 1 !important;
    position: relative !important;
    width: 13px !important;
}

.payment-option {
    font-weight: 600;
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: center;
    font-size: 18px;
}
    .payment-option label {
    margin-bottom:0;
    }
    .payment-option input {
        width: auto !important;
    }
/* Your Selection */
.selection-grid {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 45px;
    align-items: flex-start;
    margin-bottom: 16px;
}
.selection-col {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.selection-stay-card {
    background: #000;
    color: #fff;
    border-radius: 12px;
    padding: 20px 16px;
    min-width: 190px;
    min-height: 180px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
    .selection-stay-card h3 {
        font-size: 20px;
        font-weight: 700;
        margin: 15px 0 15px;
    }
.selection-stay-card p {
    font-size: 12px;
    color: #ccc;
    margin: 0;
}
.selection-guests {
    font-size: 13px;
    margin-bottom: 0;
}
.selection-date-box {
    background: #fff;
    border: 1.5px solid #1d1d1d;
    border-radius: 12px;
    padding: 25px 20px;
    position:relative;
}
.selection-date-box small {
    display: block;
    margin-bottom: 6px;
}
.selection-date-box h3 {
    font-size: 22px;
    font-weight: 600;
}
.selection-rent {
    text-align: center;
}
.selection-rent h2 {
    font-size: 48px;
    font-weight: 700;
    margin-bottom: 0;
}
.selection-savings {
    font-size: 15px;
    margin-bottom: 20px;
}
.selection-next-btn {
    background: #f0f0f0;
    border-radius: 10px;
    padding: 14px 80px;
    font-size: 18px;
    font-weight: 500;
    min-width: 280px;
}
.selection-savings {
    padding-left: 29%;
    font-size: 18px;
    margin-top: -12%;
    text-align: left;
}
    .selection-savings span {
    font-weight:700;
    }
.selection-next-btn {
    background-color: #e0dbdb;
    padding: 16px;
    border-radius: 0px;
    font-size: 20px;
    font-weight: 600;
    border: none;
    margin-top: 5%;
    margin: 5% auto 0;
}
.apply-btn {
    background-color: #e0dbdb;
    padding: 16px;
    border-radius: 0px;
    font-size: 20px;
    font-weight: 600;
    border: none;
}

.standardcharge h2, .terms h2 {
    font-size: 28px;
    text-align: center;
    margin-bottom: 10px;
    font-weight: 600;
}
.standardcharge p, .terms p {
    text-align:center;
    margin-bottom:30px;
    font-weight:600;
}
.standardcharge p span, .terms p span {
    text-decoration:underline;
    cursor:pointer;
 }
    .standardcharge {
        padding-right: 10px;
    }

.terms {
    padding-left: 40px;
}
.charges-table tr td {
    font-size: 13px;
    color: #6c757d;
    padding: 3px 0;
}

    .charges-table tr td span {
        color: #000;
        cursor: pointer;
    }

ul.terms-list li {
    font-size: 13px;
    color: #6c757d;
}

    ul.terms-list li span {
        color: #000;
    }
.terms-list {
    list-style: none;
}

    .terms-list li {
        margin-bottom: 3px;
        line-height: 1.6;
    }
.priceblock {
margin-top:5%;
}
    .priceblock p {
    font-size:20px;
    padding-bottom:8px;
    }
    .priceblock h2 {
    font-size:50px;
    font-weight:700;
    }
/*#btnpay {
margin-bottom:15%;
}*/
.booking-left {
position:relative;
}
.arrow-down {
    position: absolute;
    right: 0;
    top: 35%;
}
.calender-icon {
    position: absolute;
    right: 5%;
    top: 45%;
}
/***Modal****/
.custom-modal {
    border-radius: 24px!important;
    border: none;
    padding: 35px 20px;
}
.modal-dialog-centered {
max-width:700px!important;
}
.modal-select {
    padding: 40px 20px;
}

.modal-title-text {
    font-size: 30px;
    font-weight: 700;
    color: #000;
    margin-bottom: 30px;
    line-height: 1.3;
}

.modal-subtext {
    font-size: 22px;
    color: #9b9b9b;
    line-height: 1.4;
    margin-bottom: 35px;
}

.ok-btn {
    background: #000!important;
    color: #fff!important;
    border-radius: 12px!important;
    padding: 10px 35px!important;
    font-size: 20px;
    font-weight: 600;
    border: none;
    transition: 0.3s ease;
}

    .ok-btn:hover {
        background: #222;
        color: #fff;
    }
    /***Flip****/
.flip-wrapper {
    perspective: 1000px;
    width: 100%;
}

.flip-card-custom {
    position: relative;
    width: 100%;
    min-height: 400px;
    transition: transform 0.7s;
    transform-style: preserve-3d;
}

    .flip-card-custom.flipped {
        transform: rotateY(180deg);
    }

.flip-front,
.flip-back {
    position: absolute;
    width: 100%;
    backface-visibility: hidden;
    top: 0;
    left: 0;
}

.flip-front {
    z-index: 2;
}

.flip-back {
    transform: rotateY(180deg);
}

.standardcharge,
.terms {
    background: #fff;
    border-radius: 16px;
    padding: 25px;
    cursor: pointer;
}

.flip-btn,
.back-btn {
    cursor: pointer;
    font-weight: 600;
    color: #000;
}

    .flip-btn span {
        text-decoration: underline;
    }
#customermobile {
    padding-left: 0px !important;
    font-size:20px;
}
.tncblock {
max-width:80%!important;
padding-bottom:20px;
}
    .tncblock .modal-title {
        flex-direction: column !important;
        gap: 10px !important;
        border-bottom:none!important;
    }
    .tncblock .modal-footer {
        justify-content: center !important;
        border-top: 0px;
    }
    .tncblock .modal-content {
        border-radius: 1rem !important;
        padding-bottom: 15px;
    }
.tncblock .modal-title h5 {
    font-size: 30px;
    font-weight: 600;
}
.tncblock .modal-body {
height:50vh;
overflow:auto;
}
.tncblock .modal-title p {
    font-size: 18px;
}
.cardwrap {
position:relative;
}
.promocodecontrols label {
font-size:14px;
}
.selectmanager {
margin-bottom:3%!important;
}
.splitpay {
position:absolute;
right:40px;
}
/* Tablet */
@media(max-width:768px) {
    .stay-options {
        grid-template-columns: repeat(2,1fr);
    }
    .offers-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .selection-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .selection-stay-card {
        margin: 0 auto;
        min-width: 100%;
    }
    .selection-rent {
        text-align: center;
    }
    .booking-form {
        grid-template-columns: 1fr;
        column-gap: 0;
        margin-bottom: 24px;
    }
    .Guest-form {
        width: 100%;
    }
    .lockinwrap {
        grid-template-columns: 1fr;
        column-gap: 0;
    }
    .selection-savings {
        padding-left: 0;
        margin-top: 10px;
        font-size: 14px;
        text-align: left;
    }
    .lockin-card h2,
    .priceblock h2,
    .selection-rent h2 {
        font-size: 36px;
    }
    .selection-next-btn {
        width: 50%;
        padding: 14px;
        min-width: unset;
    }
    .tncblock {
        max-width: 95%;
    }
    .standardcharge, .terms {
        background: #fff;
        border-radius: 16px;
        padding: 20px 0;
        cursor: pointer;
    }
    .terms-list {
        list-style: none;
        padding-left: 0;
    }
    .tncblock {
        max-width: 100% !important;
        padding-bottom: 20px;
    }
    .impInfo ul {
        padding-left: 8%;
    }
}

/* Mobile */
@media(max-width:480px) {
    .offers-grid {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    .offer-col {
        width: 100%;
    }

    .offer-card {
        width: 100%;
    }
    hr {
    margin:5px 0!important;
    }
    .header{
        height: 50px!important;
    }
    .stay-options {
        grid-template-columns: 1fr;
    }
    .stay-card {
    min-height:140px;
    }
    .selection-stay-card {
        min-height: 140px;
    }
    .booking-box .form-control {
    width:100%!important;
    }
    .offers-grid {
        grid-template-columns: 1fr;
    }
    .selection-next-btn {
        min-width: 50%;
    }
    .modal-title-text {
        font-size: 22px;
    }
    .modal-subtext {
        font-size: 16px;
    }
    .lockin-card h2,
    .priceblock h2,
    .selection-rent h2 {
        font-size: 28px;
    }
    .sectiontitle h2 {
        font-size: 22px;
        margin-bottom: 0;
    }
    .splitpay {
        right: 15px;
    }
}

