

:root {
    --brand: #05003A;
    --headlines: #05003A;
    --RmtypIcnsBackClrs: #E3F3FF;
}

* {
    box-sizing: border-box;
}

body {
    font-family: 'poppins';
    background: #fff;
    scrollbar-width: thin;
    scrollbar-color: var(--brand) #E9EDF4;
}

html {
    scrollbar-width: thin;
    scrollbar-color: var(--brand) #E9EDF4;
}

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: #E9EDF4;
    border-radius: 12px;
}

::-webkit-scrollbar-thumb {
    background: var(--brand);
    border: 2px solid #E9EDF4;
    border-radius: 12px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--brand);
}

::-webkit-scrollbar-corner {
    background: #E9EDF4;
}

.brand-bar {
    background: var(--brand);
    color: #fff;
}

.brand-title {
    font-size: 1.1rem;
    font-weight: 700;
}

.brand-sub {
    opacity: .85;
    font-size: .9rem;
}

.brand-logo {
    width: 46px;
    height: auto;
}

.contact-ico {
    font-size: 1.05rem;
}

.control-label{ font-weight:600; font-size:.85rem; }
.input-group-text{ background:#fff; }


.room-card {
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
}
.room-img{ position:relative; height:100%; }
.room-img > img{ width:100%; height:332px; object-fit:cover; }

/*
.view-photos{position: absolute;right:12px;bottom: 12px;border-radius: 5px;padding: .3rem .7rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .1);background-color: #0000008C;color: #FFFFFF;font-size: 12px;font-family: system-ui;}*/

.view-photos {
    position: absolute;
    right: 12px;
    bottom: 10px;
    border-radius: 4px;
    padding: 6px 10px 6px 10px;
    border: none !important;
    outline: none !important;
    background-color: #0000008C;
    color: #FFFFFF;
    font-size: 12px;
    display: flex;
    align-items: anchor-center;
}

.font-weight-semibold{ font-weight:600; }

.badge-soft {
    color: #565656;
    font-weight: 500;
    border-radius: 5px;
    padding: .45rem .6rem;
    margin: .2rem .25rem;
    display: inline-block;
    border: 1px solid #B5E0FF;
    background-color: #E3F3FF;

}

.qty .btn{ width:40px; height:38px; border-radius:4px;font-size: 20px;color: #05003A;}
.qty-val{ min-width:20px; display:inline-block; font-weight:600; }

.price-main{ color:#141b4d; font-weight:700; }

.sticky-summary{ position:sticky; top:16px; border-radius:5px; }



.summary-block .row{ margin-bottom:.35rem; }
.summary-totals .row{ padding:.15rem 0; }
.summary-totals .grand{ border-top:1px solid var(--border); padding-top:.5rem; font-size:1.05rem; }

.btn-Showrslt {
    width: 140px;
    height: 42px;
    background-color: white;
    color: #05003A;
    border: 1px solid #05003A;
    float: right;
}

.btn-Showrslt:hover{ filter:brightness(.95); }

.btn-Showrslt.is-loading {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: wait;
    opacity: .85;
}

.btn-loader {
    width: 15px;
    height: 15px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    display: inline-block;
    animation: btn-loader-spin .7s linear infinite;
}

@keyframes btn-loader-spin {
    to {
        transform: rotate(360deg);
    }
}


footer{ background:#fff; border-top:1px solid var(--border); }


.card-body .small s{ color:#919191; }


@media (max-width: 991.98px) {
    .sticky-summary {
        position: relative;
        top: 0;
        margin-top: 1rem;
    }
}

h1.brand-title.mb-0.new {
    font-size: 18px;
    font-weight: 600;
    color: #F5BE00;
}
.p-location{
    padding: 20px 0 0 0;
    color: #FFFFFF;
    font-size: 14px;
    font-family: system-ui;
}
.d-flex.align-items-center.mr-4.new {margin-right: 3.5rem !important;margin: 44px 0 0 0;font-size: 14px;color: #FFFFFF;font-family: system-ui;}
.hdr-phnandMail {
    font-family: 'poppins';
    font-weight: 300;
    font-size: 14px;
    color: #FFFFFF;
}

h5.mb-1.font-weight-bold.new {
    font-size: 18px;
    color: #05003A;
    font-weight: 500 !important;
}
p.text-mutednew {
    font-size: 14px;
    color: #565656;
}

span.text-muted.rm {
    color: #05003A !important;
    font-size:15px;
}
span.font-weight-semibold.ml-1.name{font-size: 18px;color: #565656;}

a.smallviewdtl {font-size: 14px;color: #05003A;font-family: math;}
.viewdtl {
    font-size: 14px;
    font-weight: 300;
    color: #05003A;
    border-bottom: 1px solid;
    height: 18px;
}

.btn-Proceed {
    border: 1px solid;
    background: var(--brand);
    color: white;
    font-size: 16px;
    border-radius: 6px;
}
 .control-check{
    font-size: 14px;
    color: #565656;
    font-weight: 500;
 }
  .date-check{
    border: none;
    font-size: 15px;
    color: #05003A;
  }
  .border{border: none;}
  span.text-muted {
    font-size: 16px;
    color: #05003A !important;
}
.check-none{ border: none;width: 100px;}
.search-bx {
    min-width: 335px;
    margin-right: 84px;
    border-radius: 5px;
    border: 1px solid #919191;
    color: #05003A !important;
}
.searchbxlft-none { border-left: none;}
#txt-search {
    height: 42px;
    border-color: #919191;
    box-shadow: none;
}

#txt-search:focus {
    border-color: #05003A;
    box-shadow: none;
}

#txt-search::placeholder {
    color: #919191;
}

.controls-wrap .input-group {
    flex-wrap: nowrap;
}

.controls-wrap .input-group-prepend {
    flex: 0 0 42px;
}

.controls-wrap .input-group-text {
    width: 42px;
    height: 42px;
    justify-content: center;
    padding: 0;
    border-color: #919191;
    border-right: 0;
    border-radius: 4px 0 0 4px;
    color: #05003A;
}

.controls-wrap .fa-search {
    font-size: 14px;
    line-height: 1;
}

.controls-wrap .searchbxlft-none {
    border-left: 0;
    border-radius: 0 4px 4px 0;
    min-width: 0;
}
.underline{
  border-bottom: 1px solid #E9EDF4;}

.plus-minus{
      width: 37px;
      border: none;
      margin: 0px 0px 0px 15px;
}
span.text-success.new {
  font-size: 14px;
  color: #1DBB4A !important;
}
.noRooms{
  font-size: 16px;
  color: #F81010;
  font-weight: 500;
}
.col-6.text-muted.sum {font-size: 12px;color: #000000 !important;font-weight: 500;}
.col-7.text-muted.sum {font-size: 12px;color: #000000 !important;font-weight: 500;}

.col-6.text-right.sum {font-size: 12px;color: #000000 !important;}

.scrollable-section{max-height: 266px;overflow-x: hidden;padding-right: 10px;overflow-y: auto;}

.scrollable-section,
.rows-wrap,
.charges-wrap,
#roomdetails .page-wrap,
#roomdatassection .col-lg-9[style],
.pax-details .px-4,
.person-details .px-4,
.payment-details .px-4 {
    scrollbar-width: thin;
    scrollbar-color: var(--brand) #F5F5F5;
}

.scrollable-section::-webkit-scrollbar,
.rows-wrap::-webkit-scrollbar,
.charges-wrap::-webkit-scrollbar,
#roomdetails .page-wrap::-webkit-scrollbar,
#roomdatassection .col-lg-9[style]::-webkit-scrollbar,
.pax-details .px-4::-webkit-scrollbar,
.person-details .px-4::-webkit-scrollbar,
.payment-details .px-4::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.scrollable-section::-webkit-scrollbar-track,
.rows-wrap::-webkit-scrollbar-track,
.charges-wrap::-webkit-scrollbar-track,
#roomdetails .page-wrap::-webkit-scrollbar-track,
#roomdatassection .col-lg-9[style]::-webkit-scrollbar-track,
.pax-details .px-4::-webkit-scrollbar-track,
.person-details .px-4::-webkit-scrollbar-track,
.payment-details .px-4::-webkit-scrollbar-track {
    background: #F5F5F5;
    border-radius: 10px;
}

.scrollable-section::-webkit-scrollbar-thumb,
.rows-wrap::-webkit-scrollbar-thumb,
.charges-wrap::-webkit-scrollbar-thumb,
#roomdetails .page-wrap::-webkit-scrollbar-thumb,
#roomdatassection .col-lg-9[style]::-webkit-scrollbar-thumb,
.pax-details .px-4::-webkit-scrollbar-thumb,
.person-details .px-4::-webkit-scrollbar-thumb,
.payment-details .px-4::-webkit-scrollbar-thumb {
    background: var(--brand);
    border: 2px solid #F5F5F5;
    border-radius: 10px;
}

.card.shadow-sm.border-0.new { margin: 0px -15px 0px -15px;}

.brand-bar .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

aside.col-lg-3.back {
    background-color: #F5F5F5;
    padding: 22px 13px 35px 17px;
    margin: -20px;
}
.price.text-right.price {margin-top: 84px;
}
.container.d-flex.align-items-center.py-3.mar {
    margin: 0;
}

.form-group.col-md-3.mb-2.bdr{ border-right: 1px solid #C3C2C2;}

.form-group.col-md-5.mb-2.bdr { border-right: 1px solid #C3C2C2;}
.form-group.col-md-6.mb-2.bdr { border-right: 1px solid #C3C2C2; padding: 0px 0px 0px 30px;}

.page-wrap{ max-width:980px; }
.muted{ font-size: 15px; color:#6c7480;color: #565656; }
.price-now{font-size: 20px;font-weight: 600;}
.price-old{ text-decoration:line-through; color:#a2a9b6; }
.discount{color: #37c65d; font-size: 14px;}
.amenity{
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.35rem .65rem; border:1px solid #dfe3ea; border-radius:.5rem;
  background:#f5f7fb; font-size:.92rem; color:#364152;
}
.amenity i{ font-size:1rem; }
.qty-btn{
  width:48px; height:48px; border-radius:.6rem; border:1px solid #dfe3ea;
  display:grid; place-items:center; background:#fff; font-size:1.4rem;
}
.qty-value{ min-width:48px; text-align:center; font-size:1.25rem; }
.section-title{ font-weight:700; }

.hero-img {
    width: 100%;
    height: 450px;
    object-fit: cover;
    object-position: center;
    display: none;
}
.hero-img:first-child {
        display: block;
}

.popupsection{top:0;left:0;background:rgba(0,0,0,.55);z-index:1050; overflow:hidden;}

#roomdetails #ViewRoomtypeData {
    padding: 16px !important;
}

#roomdetails #ViewRoomtypeData > .bg-white {
    --room-popup-image-height: 360px;
    width: min(92vw, 880px) !important;
    max-height: calc(100vh - 32px);
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    border-radius: 8px !important;
}

#roomdetails .hero-crop {
    flex: 0 0 var(--room-popup-image-height);
    height: var(--room-popup-image-height);
    position: relative;
    background: #000;
    overflow: hidden;
}

#roomdetails .hero-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

#roomdetails #ViewRoomtypeData > .bg-white > button[aria-label="Close"] {
    top: 12px !important;
    right: 12px !important;
    width: 38px;
    height: 38px;
    padding: 0 !important;
    display: grid;
    place-items: center;
    border-radius: 50% !important;
    background: var(--brand) !important;
    color: #fff !important;
    font-size: 28px !important;
    line-height: 1 !important;
    z-index: 8;
}

#roomdetails .carousel-arrow {
    top: calc(var(--room-popup-image-height) / 2);
    width: 42px;
    height: 42px;
    padding: 0;
    display: grid;
    place-items: center;
    background: var(--brand);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .18);
    z-index: 7;
}

#roomdetails .left-arrowimg {
    left: 16px;
}

#roomdetails .right-arrowimg {
    right: 16px;
}

#roomdetails .carousel-arrow img {
    width: 16px;
    height: 16px;
    filter: brightness(0) invert(1);
}

#roomdetails .page-wrap {
    width: 100%;
    max-width: none;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 24px !important;
}

.poppuphead {
    color: #565656;
}
.amenitynew{color: #565656;border-radius: 5px;padding: 0.2rem .6rem;margin: 0.2rem 0.25rem;display: inline-block;border: 1px solid #B5E0FF;background-color: #E3F3FF;font-size: 14px;}
.srchclr {
    border: 1px solid #919191;
    border-radius: 4px;
}

.viewallph {
    font-size: 12px;
    color: #FFFFFF;
    font-weight: 300;
}
 /* Pax-Details */

.carousel-arrow {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    background-color: #FFFFFF80;
    border: none;
    font-size: 1.8rem;
    font-weight: bold;
    padding: 8px 22px 8px 22px;
    border-radius: 50%;
    cursor: pointer;
    color: #333;
    transition: all 0.3s ease;
    z-index: 5;
}

.left-arrowimg {
    left: 250px;
}

.right-arrowimg {
    right: 250px;
}

button.carousel-arrow.left-arrowimg.outline-arrow {
    outline: none;
}

button.carousel-arrow.right-arrowimg.outline-arrow {
    outline: none;
}

.stepper {
    width: 100%;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr) 32px minmax(0, 1fr);
    align-items: start !important;
    overflow: hidden;
}
.stepper .step { text-align:center; min-width:0; width:100%; }
.stepper .step:first-child {
    transform: none;
}
.stepper .step:last-child {
    transform: none;
}
.stepper .dot{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:#f3f6fb;border:1px solid #dfe6f3;margin:0 auto 6px;}
.stepper .label{ font-size:.9rem; color:#c4ccda; font-weight:600; white-space: nowrap; }
.stepper .dot img{ opacity:.35; filter: grayscale(1); }
.stepper .step.active .dot{ background:#e9f1ff; border-color:#cfe1ff; }
.stepper .step.active .label{ color:#1e2a55; }
.stepper .step.active .dot img{ opacity:1; filter:none; }
.stepper .step:has(+ .dash + .step.active) .dot {
    background:#e9f1ff;
    border-color:#cfe1ff;
}
.stepper .step:has(+ .dash + .step.active) .label {
    color:#1e2a55;
}
.stepper .step:has(+ .dash + .step.active) .dot img {
    opacity:1;
    filter:none;
}
.stepper .step:has(+ .dash + .step.active) + .dash {
    border-bottom-color: var(--brand);
}
.stepper .dash{
  height:24px;border-bottom:2px dashed #cfd7e6;margin:0; min-width:0; width:100%;
}

#paxdtls {
    overflow: visible;
    padding-bottom: 4px;
    scrollbar-width: thin;
    scrollbar-color: var(--brand) #F5F5F5;
}

#paxdtls::-webkit-scrollbar {
    height: 8px;
}

#paxdtls::-webkit-scrollbar-track {
    background: #F5F5F5;
    border-radius: 10px;
}

#paxdtls::-webkit-scrollbar-thumb {
    background: var(--brand);
    border-radius: 10px;
}

#paxdtls > .px-4 {
    min-width: 0;
    width: 100%;
    overflow: visible;
}

#paxdtls .paxbrd,
#paxdtls .row-box {
    display: grid !important;
    grid-template-columns: 40px 1.35fr 1fr 1fr 1fr;
    align-items: center;
    column-gap: 8px;
    width: 100%;
    box-sizing: border-box;
}

#paxdtls .paxbrd > div,
#paxdtls .row-box > div {
    flex: none;
    max-width: none;
    width: auto;
    padding-left: 0;
    padding-right: 0;
}

#paxdtls .paxbrd > div:nth-child(n+3),
#paxdtls .row-box > div:nth-child(n+3) {
    text-align: center !important;
    justify-content: center !important;
}

#paxdtls .row-box > div:nth-child(n+3) {
    justify-content: center !important;
}

#paxdtls .row-box > div:nth-child(n+3) .qtynew {
    margin-left: auto;
    margin-right: auto;
}

#paxdtls .row-box > div:nth-child(5) .qtynew {
    margin-left: auto;
    margin-right: 0;
}

#paxdtls .paxbrd > div:nth-child(5) {
    text-align: right !important;
    justify-content: flex-end !important;
    padding-right: 24px;
}

#paxdtls .paxbrd > div:nth-child(5),
#paxdtls .row-box > div:nth-child(5) {
    text-align: right !important;
    justify-content: flex-end !important;
}

#paxdtls .row-box > div:nth-child(2) {
    color: #05003A;
    font-weight: 500;
    overflow-wrap: anywhere;
}

#paxdtls .paxbrd {
    font-size: 11px;
    line-height: 1.2;
    padding: .45rem .75rem !important;
}

#paxdtls .row-box {
    font-size: 12px;
    padding: .45rem .75rem;
}

#paxdtls .rows-wrap {
    width: 100%;
}

.rows-wrap{
  max-height:none; overflow:visible; padding-right:.25rem;
}
.rows-wrap::-webkit-scrollbar{ width:8px; }
.rows-wrap::-webkit-scrollbar-thumb{
  background:var(--brand); border-radius:12px;
}
.row-box{
  background:#fff; border:1px solid #e6ebf5; border-radius:6px;
  padding:.55rem 1rem; margin-bottom:.6rem;font-size: 14px;
}

.qtynew { display:inline-grid; grid-template-columns: 28px 22px 28px; align-items:center; justify-content:center; gap:.25rem;
  background-color:white; border:1px solid #D7DAE8; border-radius:.4rem; width: 86px;
}
.qtynew  .val{ width:22px; text-align:center; color:#1e2a55; font-weight:600; font-size:12px; justify-self:center; }

.btn-primary{ background:#1e2a55; border-color:#1e2a55; }
.btn-primary:hover{ background:#192447; border-color:#192447; }
.rounded-pill.px-3.py-1.border.text-muted.small.d-flex.paxbrd {
background-color: #F5F5F5; color: #05003A !important; font-weight: 500;}
.qtynew .btn-minus, .qtynew .btn-plus {width: 28px;height: 28px;border-radius: .2rem;border: 1px solid var(--brand);background-color: var(--brand);color: #FFFFFF;line-height: 1;font-weight: 700;font-size: .95rem;padding: 0;}
button.btn-plus.new {background-color: var(--brand);}
.qtynew .btn-minus:hover, .qtynew .btn-plus:hover {filter: brightness(.92);}
.qtynew .btn-minus:focus, .qtynew .btn-plus:focus {outline: none; box-shadow: 0 0 0 2px rgba(5, 0, 58, .18);}


.save-nextbtn {
    border: none;
    background: var(--brand);
    color: white;
    padding: 6px 8px 6px 16px;
    border-radius: 4px;
    float: right;
    margin: 14px -16px 11px 0px;
}
.P-total-dtls{font-size: 14px;color: #05003A;font-weight: 500;}

#Paxdetails #paxdtls .px-4 {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

#Paxdetails .save-nextbtn {
    margin-right: 0;
}

#Paxdetails .bg-white.rounded-4.shadow.w-100.position-relative {
    width: min(860px, calc(100vw - 32px)) !important;
    max-width: min(860px, calc(100vw - 32px)) !important;
    max-height: calc(100dvh - 32px);
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--brand) #F5F5F5;
}

#Paxdetails > .d-flex {
    width: 100%;
    max-width: 100vw;
    overflow: hidden;
}

#Paxdetails .pax-details,
#Paxdetails .person-details,
#Paxdetails .payment-details {
    width: 100%;
    min-width: 0;
}

#Paxdetails .pax-details .px-4,
#Paxdetails .person-details .px-4,
#Paxdetails .payment-details .px-4 {
    overflow: visible;
}

#Paxdetails .bg-white.rounded-4.shadow.w-100.position-relative::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

#Paxdetails .bg-white.rounded-4.shadow.w-100.position-relative::-webkit-scrollbar-track {
    background: #F5F5F5;
    border-radius: 10px;
}

#Paxdetails .bg-white.rounded-4.shadow.w-100.position-relative::-webkit-scrollbar-thumb {
    background: var(--brand);
    border-radius: 10px;
}

 /* personal-selection */ 


.charges-wrap{}
.charge-cardnew{background: #E3F3FF; border: 1px solid #d8e8ff; border-radius: 6px;}
.charge-bar{background:#eaf4ff; border:1px solid #d8e8ff; border-radius:10px;padding:.5rem .75rem;}
.form-label.required:after{ content:" *"; color:#dc3545; }
.salutation{ border-top-right-radius:0; border-bottom-right-radius:0; }
.charges-break-head{color: #000000;font-size: 16px;font-weight: 600;}
.view-room-head {font-size: 12px;font-weight: 600;color: #05003A;}
.lblhd{color: #000000;font-size: 10px;font-weight: 500;}
.valdtl{color: #565656;font-size: 12px;font-weight: 500;}
.viewroomtotal{font-size: 12px;font-weight: 500;color: #05003A !important;}
.viewroomtotal{font-size: 12px;color: #05003A;}
.viewroomtotalnum{font-size:12px;color: #05003A;}
.enter-dtls{font-size: 18px;color: #000000;font-weight: 600;}
label.form-label.required.dtlnew {margin-bottom: 0.0rem;}
label.form-label.dtlnew {margin-bottom: 0.0rem;font-size: 12px;color: #000000;font-weight: 500;}

#personaldetails {
    width: 100%;
    min-width: 0;
}

#personaldetails section.container-fluid {
    width: 100%;
    min-width: 0;
}

#personaldetails .form-row {
    row-gap: 10px;
}

#personaldetails .form-control,
#personaldetails .custom-select {
    min-width: 0;
    width: 100%;
}

#personaldetails .input-group {
    flex-wrap: nowrap;
    min-width: 0;
}

#personaldetails .input-group-prepend {
    flex: 0 0 auto;
}

#personaldetails .salutation {
    width: 72px;
}

#personaldetails .charges-wrap {
    max-width: 100%;
}

#personaldetails .charge-cardnew {
    overflow: hidden;
}

#personaldetails .charge-cardnew .row.no-gutters {
    row-gap: 8px;
}

#personaldetails .charge-cardnew .row.no-gutters > .col {
    min-width: 76px;
}

#personaldetails .d-flex.justify-content-end {
    gap: 10px;
    flex-wrap: wrap;
}

#personaldetails .custom-control.custom-checkbox {
    max-width: 100%;
}

#personaldetails .custom-control-label {
    line-height: 1.35;
}

#personaldetails #chragesview + .enter-dtls {
    margin-top: 12px;
}

button.btn.btn-prv.pl-0 {font-size: 16px;color: #05003A;font-weight: 600;margin-right: 12px;}
button.btn.button-savenext.px-3 {
    background: var(--brand);
    border: none;
    border-radius: 6px;
    color: white;
    font-size: 16px;
}
.mr-4.borders {border-right: 1px solid;padding: 0px 25px 0px 0px;}
.viewmore{float: right;font-size: 10px;color: #05003C !important;font-weight: 500;}
  /*.btn-disabled {
    background-color: #05003A !important;*/ /* gray when disabled */
    /*color: #fff;
    opacity: 0.7;

  }*/
.termscond {
    color: #000000;
    margin: 0px 38px 0 0;
    font-size: 14px;
    font-weight: 400;
    padding: 1px 0px 0px 3px;
}

.prevarrow {
    margin-top: 2px;
}

.serchicon {
    margin-left: 14px;
}
.custom-select {
    background-image: none !important;
    appearance: none;
    height: calc(1.2em + .75rem + 2px);
    background-color: #F5F5F5;
    padding: 0px 20px 0px 6px;
}

    .custom-select:focus,
    .custom-select.salutation:focus {
        border-color: #ccc !important;
        box-shadow: none !important;
        outline: none !important;
    }

    .custom-select.salutation option {
        background-color: white;
    }

.input-group-prepend {
    position: relative;
}

.drop-salut-icon {
    position: absolute;
    right: 10px;
    top: 56%;
    transform: translateY(-50%);
    pointer-events: none;
    width: 9px;
    height: 9px;
    color: #000000;
}







.custom-checkbox .custom-control-label::before {
    border: 1px solid #565656 !important;
}

.custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: none;
}

.lblnightsDrop {
    color: #000000;
    font-size: 12px;
    font-weight: 400;
}

    
/* --Payment-Details-- */
.panel-soft{background:#eceff6;border:1px solid #e2e7f0;border-radius:10px;}

.chip {display: inline-flex;align-items: center;background: #E3F3FF;border: 1px solid #F81010;color: #1e2130;
    border-radius: 4px;padding: 0.1rem 0.7rem;font-weight: 500;font-size: 10px;}
.chip-close {border: 1px solid red;background: #defcff;width: 22px;height: 21px;line-height: 16px;
    border-radius: 50%;margin-left: .9rem;font-weight: bold;font-size: 14px;}
.totals-row{ border-bottom:1px solid #e9edf5; padding-bottom:.5rem; }
.row.billpayment {background-color: #E9EDF4;margin: 10px 0;margin: 0 -24px; padding: 18px 26px 18px 26px;}

.promogft {position: relative;width: 320px;}
.input-promogft {width: 90%;padding-right: 90px; height: 44px;border-radius:4px;font-size: 14px;}

.applybtn { position: absolute; top: 6px; right: 39px; bottom: 6px; background: var(--brand); color: #fff; border: none; border-radius: 6px; padding: 0 10px; transition: 0.2s; }
 .bill-summarytxt {font-size: 14px;color: #565656;}
.billbdy{padding:10px 14px 8px 14px;background-color: white;}
.fontz{font-size: 14px;}
.linesummary {border: 0;border-top: 1px solid rgba(0, 0, 0, .1);padding: 5px;}
.payment-opt-drop{display: flex;justify-content: end;margin-top: 14px;}
button.dropdown-toggle.newpay {
    font-size: 16px;
    border: none;
    height: 40px;
    background: var(--brand);
    color: white;
    font-weight: 500;
    border-radius: 4px;
    min-width: 162px;
}
.new-drp{transform: translate3d(0px, -85px, 0px) !important;text-align: center; box-shadow: 0px 2px 6px 0px; color: #C3C2C2;}
.payonl{color: #05003A;font-size: 16px;}
.border-payment {
    border-bottom: 1px solid #C3C2C2;
    margin: 5px 5px 5px 5px;
}

.modal-content.new {position: relative;display: -ms-flexbox;display: flex;-ms-flex-direction: column;
flex-direction: column;width: 54%;pointer-events: auto;background-color: #fff;
background-clip: padding-box;border: 1px solid rgba(0, 0, 0, .2);border-radius: .3rem;outline: 0; margin-left:100px;}
.success-pop {
    z-index: 1055;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background-color: #12EA4F;
    display: grid;
    place-items: center;
    box-shadow: 0 6px 16px rgba(17, 199, 111, .35);
    border: 24px solid #ffffffab;
}
.pay-suc{font-size: 15px;font-weight: 600;}
.pay-sucpara{font-size: 10px; color: #000000;}
.amount-nu{font-size: 18px; color: #000000;font-weight: 600;}
.success-modal .modal-content{border: 0;border-radius: 6px;box-shadow: 0 20px 60px rgba(0,0,0,.15); }
.success-modal .modal-body{padding: 28px 22px 24px;}
.success-badgepop{position: relative;width: 132px;height: 132px;margin: 0 auto 14px;display: grid;place-items: center;
background-color: #12EA4F1A;border-radius: 50%;border: none;}
.payment-date{font-size: 10px;color: #000000;}
.pay-wait{font-size: 14px; color: #000000; font-weight: 500;}

.modal-content.booking {position: relative;display: -ms-flexbox;display: flex;-ms-flex-direction: column;padding:22px 46px 18px 46px;border-radius: 6px;
   flex-direction: column;width: 68%;pointer-events: auto;background-color: #fff;background-clip: padding-box;outline: 0; margin-left: 100px;}

.confirm-tt{ font-weight:700; font-size:15px; color: #000000;}

.booking-btn {border: 1.5px solid #0b0b35;color: #0b0b35;background: #fff;border-radius: 4px;
    padding: 0.34rem 0rem;font-weight: 500;margin-right: 10px;font-size: 14px;}

.done-butt {
    background: var(--brand);
    border: 0;
    font-weight: 500;
    font-size: 18px;
    border-radius: 6px;
    padding: .35rem 1rem;
    color: white;
}

.billsummarytxt {
    font-weight: 600;
    color: #05003A;
    font-size: 16px;
}

.payonlineicon {
    margin-left: -24px;
}

.grand-ttl {
    font-size: 16px;
    font-weight: 500;
    color: #000000;
}

.grand-total {
    font-weight: 600;
    font-size: 16px;
    color: #000000;
}

.custom-checkbox .custom-label::before {
    border-radius: 4px;
    border: 1px solid #565656;
}

/* Send-To */

.modal-content.send {position: relative;display: flex;flex-direction: column;width: 66%;pointer-events: auto;
    background-color: #fff;background-clip: padding-box;outline: 0;margin-left: 100px}
.modal-header.send {display: flex;align-items: flex-start;justify-content: space-between;padding: 0.45rem 1rem;
    border-bottom: 1px solid #dee2e6;border-top-left-radius: calc(.3rem - 1px);border-top-right-radius: calc(.3rem - 1px);}
  .channel.active{ border-color:#f0f1f5; background:#f0f1f5; }

  .lblsend{ color: #09486C; font-size: 12px; font-weight:500; }
  .lblnumbers{ color: #424242; font-size: 12px; font-weight:500; }
.sendinput {border-radius: 4px;height: 40px;font-size: 14px;width: 100%;padding-left: 8px;border: 1px solid #E9E9E9;}

.btn-sndcancel {border: 1px solid #05003A;background: #fff;color: #0b0b35;font-weight: 600;
    border-radius: 5px;width: 86px;height: 34px;font-size: 14px;}

.button-onsend {background: #05003A;color: #fff;border: 0;font-weight: 600;border-radius: 6px;width: 86px;
    height: 34px;font-size: 14px;}

  .channel{
    border:1.5px solid transparent; border-radius:14px; padding:18px 14px;
    display:flex; flex-direction:column; align-items:center; gap:8px;
    background:#fff; transition:.2s; cursor:pointer; height:100px; justify-content:center;}


/* GotoHomePage */
    .modal-content.hmp {position: relative;display: flex;flex-direction: column;width: 68%;pointer-events: auto;
    background-color: #fff;background-clip: padding-box;border: 1px solid rgba(0, 0, 0, .2);outline: 0;margin-left: 100px;}

    .modal-body.hmp {font-size: 14px;color: #333;margin-bottom: 20px;text-align: center; }

    .Gobtn{    display: flex;justify-content: space-evenly;}
    .btn-hmno {border: 1px solid #000;color: #000;background-color: #fff;border-radius: 6px;width: 38%;height: 36px;}

.btn-hm {
    background: var(--brand);
    color: #fff;
    border-radius: 6px;
    border: none;
    width: 38%;
    height: 36px;
}

  

/* Discount-BillSummary */

.modal-content.blldissumm {
    border: 0;
    border-radius: 6px;
    width: 80%;
}
  .bill-modal .modal-header{border:0;padding-bottom:0}
  .bill-title{font-weight:800;color:#0b0b35}

  .kv-row{padding:.25rem 0}
  .kv-row .k{color:#6b7280}
  .kv-row .v{color:#6b7280;font-weight:600}

  .promo-head{font-weight:700;color:#0b0b35}
  .remove-all{color:#ef4444;font-weight:700;text-decoration:none}
  .remove-all:hover{color:#dc2626}

  .promo-card{
    background:#f5f7fb;border-radius:14px;padding:14px 16px;position:relative
  }
  .promo-badge{
    position:absolute;left:-10px;top:14px;width:28px;height:28px;border-radius:14px;
    background:#eef2ff
  }
  .promo-title{font-weight:800;letter-spacing:.3px;color:#0b0b35}
  .promo-sub{color:#6b7280;font-size:14px;margin:2px 0 6px}
  .promo-terms{color:#3b82f6;font-size:14px;text-decoration:none}
  .promo-terms:hover{text-decoration:underline}
  .promo-remove{
    width:30px;height:30px;border-radius:50%;display:inline-grid;place-items:center;
    border:1.5px solid #ef4444;color:#ef4444;background:#fff
  }
  .summary-divider{border-top:1px solid #e5e7eb}
  .discount{color:#10b981;font-weight:700}
  .grand{font-weight:800}
  .btn-close-x{background:#0b0b35;border:0;color:#fff;font-weight:700;border-radius:12px}
  @media (min-width:576px){ .bill-modal .modal-dialog{max-width:430px} }




  /*------------Avilability----PopUp-------------*/

.modal {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(30, 30, 36, 0.83);
    z-index: 1055;
    justify-content: center;
    align-items: center;
}

.pax-container {
    width: max-content;
    height: max-content;
    background-color: #fbfbfb;
    border-radius: 10px;
}

.p-3 {
    padding: 1rem !important;
}

.align-items-center {
    align-items: center !important;
}

.flex-column {
    flex-direction: column !important;
}

.d-flex {
    display: flex !important;
}

@media (min-width: 768px) {
    .d-md-flex {
        display: flex !important;
    }
}

.mt-3 {
    margin-top: 1rem !important;
}

.calendar .month {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 18px;
    margin-bottom: 10px;
    font-weight: 600;
}

    .calendar .month .nav {
        display: flex;
        justify-content: center;
        align-items: center;
        text-decoration: none;
        color: var(--text-black);
        width: 40px;
        height: 40px;
        transition-duration: 0.2s;
        position: relative;
    }

.nav {
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}

.calendar .dates {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}

    .calendar .dates a.available {
        background: #34a934de;
        color: #f2f2ff;
    }

    .calendar .dates a {
        color: var(--text);
        cursor: pointer;
        outline: 0;
        background: transparent;
        font-size: 12px;
        justify-self: center;
        align-self: center;
        width: 50px;
        height: 35px;
        border: 1px solid #cacfcade;
        transition-duration: 0.2s;
        text-align: center;
        line-height: 35px;
    }

a {
    text-decoration: none;
    color: var(--text);
    font-weight: 600;
    transition: .3s ease-in-out;
}

.d-none {
    display: none !important;
}

.calendar .days {
    display: grid;
    justify-content: center;
    align-items: center;
    grid-template-columns: repeat(7, 1fr);
    color: var(--text-black);
    font-weight: 600;
    margin-bottom: 5px;
}
.calendar .dates a.disable {
    background: #808080;
    border: 1px solid rgba(30, 30, 36, 0.4);
    color: #f2f2ff;
}

.fade:not(.show) {
    opacity: 1;
}

.popover-availability {
    padding: 10px;
}

    .popover-availability div.d-block {
        margin-bottom: 5px;
    }


.dropdown.open ul.new-drp.dropdown-menu {
    display:block;
}

.dropdown-menu {
    position: absolute;
    left: 3px;
    z-index: 1000;
    float: left;
    min-width: 10rem;
    padding: .5rem 0;
    margin: .125rem 0 0;
    font-size: 1rem;
    color: #212529;
    list-style: none;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, .15);
    border-radius: .25rem;
}

input.form-control.txt-bx {
    height: calc(1.25em + .75rem + 2px);
}
.datepicker-dropdown {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    padding: 10px;
    border: 0;
    border-radius: 10px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, .16);
    background: #FFFFFF;
}

.datepicker-dropdown:before,
.datepicker-dropdown:after {
    display: none;
}

.datepicker table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 3px;
}

.datepicker .datepicker-switch,
.datepicker .prev,
.datepicker .next {
    height: 34px;
    color: var(--brand);
    font-weight: 600;
    border-radius: 6px;
}

.datepicker .prev,
.datepicker .next {
    width: 34px;
    font-size: 18px;
}

.datepicker .datepicker-switch:hover,
.datepicker .prev:hover,
.datepicker .next:hover {
    background: #E9EDF4;
}

.datepicker table tr th.dow {
    color: #565656;
    font-size: 11px;
    font-weight: 600;
    padding: 8px 0 5px;
}

.datepicker table tr td.day {
    width: 34px;
    height: 32px;
    border-radius: 7px;
    color: #1f2933;
    font-weight: 500;
    transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}

.datepicker table tr td.day:hover {
    background: #E9EDF4;
    color: var(--brand);
}

.datepicker table tr td.old,
.datepicker table tr td.new {
    color: #B0B6C1;
}

.datepicker table tr td.today {
    background: #FFFFFF !important;
    color: var(--brand) !important;
    border: 1px solid var(--brand);
    font-weight: 700;
}

.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
    background: transparent !important;
    color: #D0D4DA !important;
    cursor: not-allowed;
}

.datepicker table tr td span.month,
.datepicker table tr td span.year,
.datepicker table tr td span.decade,
.datepicker table tr td span.century {
    border-radius: 7px;
    color: #1f2933;
}

.datepicker table tr td span.month:hover,
.datepicker table tr td span.year:hover,
.datepicker table tr td span.decade:hover,
.datepicker table tr td span.century:hover {
    background: #E9EDF4;
    color: var(--brand);
}

.datetimepicker {
    text-transform: uppercase;
    border: none;
    width: 119px;
    color: #05003A !important;
}
.datepicker td, .datepicker th {
    font-size: 14px;
}
.datepicker table tr td.active, .datepicker table tr td.active.disabled, .datepicker table tr td.active.disabled:hover, .datepicker table tr td.active:hover, .datepicker table tr td span.active.active, .datepicker table tr td span.active.disabled, .datepicker table tr td span.active.disabled.active, .datepicker table tr td span.active.disabled.disabled, .datepicker table tr td span.active.disabled:active, .datepicker table tr td span.active.disabled:hover, .datepicker table tr td span.active.disabled:hover.active, .datepicker table tr td span.active.disabled:hover.disabled, .datepicker table tr td span.active.disabled:hover:active, .datepicker table tr td span.active.disabled:hover:hover, .datepicker table tr td span.active.disabled:hover[disabled], .datepicker table tr td span.active.disabled[disabled], .datepicker table tr td span.active:active, .datepicker table tr td span.active:hover, .datepicker table tr td span.active:hover.active, .datepicker table tr td span.active:hover.disabled, .datepicker table tr td span.active:hover:active, .datepicker table tr td span.active:hover:hover, .datepicker table tr td span.active:hover[disabled], .datepicker table tr td span.active[disabled] {
    background-color: var(--brand) !important;
    background-image: none;
    color: #FFFFFF !important;
    font-weight: 700;
    
}

.datepicker table tr td.today.active,
.datepicker table tr td.today.active:hover {
    background-color: var(--brand) !important;
    color: #FFFFFF !important;
    border-color: var(--brand);
}

/* Responsive layout fixes */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

img {
    max-width: 100%;
}

.body-content {
    width: 100%;
}

.brand-bar .container.mar {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding-left: 24px;
    padding-right: 24px;
    flex-wrap: wrap;
    gap: 14px;
}

.brand-logo {
    flex: 0 0 auto;
    object-fit: cover;
}

.brand-bar .mr-auto {
    min-width: 0;
}

.contact-group {
    flex-wrap: wrap;
    gap: 14px 28px;
    margin-left: auto;
}

.d-flex.align-items-center.mr-4.new {
    margin: 0 !important;
}

.controls-wrap .container-fluid,
#roomdatassection .container-fluid {
    padding-left: 12px;
    padding-right: 1px;
}

.card.shadow-sm.border-0.new {
    margin: 0;
}

.controls-wrap .form-row {
    row-gap: 12px;
}

.controls-wrap .input-group {
    align-items: center;
    min-width: 0;
}

.controls-wrap .form-control,
.controls-wrap input,
.datetimepicker,
.check-none {
    max-width: 100%;
}

.btn-Showrslt {
    float: none;
    width: 100%;
    min-width: 140px;
}

#roomdatassection > .container-fluid > .row {
    align-items: flex-start;
}

#roomdatassection .col-lg-9[style] {
    max-height: calc(100vh - 220px) !important;
}

aside.col-lg-3.back {
    margin: 0;
}

.room-card .row {
    min-width: 0;
}

.room-card .card-body {
    min-width: 0;
}

.room-card .card-body > .d-flex:first-child {
    gap: 12px;
}

.room-card h5 {
    min-width: 0;
    overflow-wrap: anywhere;
}

.amenities {
    overflow-wrap: anywhere;
}

.price.text-right.price {
    margin-top: 0;
}

.qty {
    flex-shrink: 0;
}

.modal-dialog {
    max-width: min(94vw, 1140px);
}

.modal-content.new,
.modal-content.booking,
.modal-content.send,
.modal-content.hmp {
    width: 100%;
    max-width: 94vw;
    margin-left: 0;
}

.rounded-pill.px-3.py-1.border.text-muted.small.d-flex.paxbrd,
.row-box {
    min-width: 680px;
}

.pax-details .px-4,
.person-details .px-4,
.payment-details .px-4 {
    overflow-x: auto;
}

.promogft,
.input-promogft {
    width: 100%;
}

.applybtn {
    right: 6px;
}

.calendar {
    max-width: 100%;
}

.calendar .dates a {
    width: 100%;
    min-width: 34px;
}

@media (max-width: 1199.98px) {
    .left-arrowimg {
        left: 24px;
    }

    .right-arrowimg {
        right: 24px;
    }

    .modal-content.blldissumm {
        width: 94%;
    }
}

@media (max-width: 991.98px) {
    .brand-bar .container.mar {
        align-items: flex-start !important;
    }

    .contact-group {
        width: 100%;
        margin-left: 0;
    }

    .controls-wrap .form-group {
        border-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    #roomdatassection .col-lg-9[style] {
        overflow-y: visible !important;
        max-height: none !important;
    }

    aside.col-lg-3.back {
        margin-top: 18px;
        padding: 18px;
    }

    .sticky-summary {
        position: relative;
        top: 0;
    }

    .stepper .step {
        width: 100%;
    }

    .stepper .dot {
        width: 42px;
        height: 42px;
    }

    .stepper .label {
        font-size: 12px;
    }

    .row.billpayment {
        margin-left: 0;
        margin-right: 0;
        padding: 16px;
    }

    .payment-opt-drop {
        justify-content: stretch;
    }

    .payment-opt-drop .dropdown,
    button.dropdown-toggle.newpay {
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .brand-bar .container.mar {
        padding: 14px 16px !important;
        gap: 10px;
    }

    .brand-logo {
        width: 58px;
        height: 58px;
        border-radius: 4px;
    }

    h1.brand-title.mb-0.new {
        font-size: 16px;
        line-height: 1.25;
    }

    .p-location {
        padding-top: 8px;
        font-size: 12px;
        line-height: 1.35;
    }

    .contact-group {
        display: flex !important;
        gap: 8px 16px;
    }

    .hdr-phnandMail,
    .contact-group span {
        font-size: 12px;
        overflow-wrap: anywhere;
    }

    .controls-wrap .container-fluid,
    #roomdatassection .container-fluid {
        padding-left: 12px;
        padding-right: 12px;
    }

    .controls-wrap .card-body {
        padding: 14px !important;
    }

    .datetimepicker {
        width: 112px;
    }

    span.text-muted {
        font-size: 13px;
    }

    .room-card {
        border-radius: 8px;
    }

    .room-img > img {
        height: 220px;
    }

    #roomdetails #ViewRoomtypeData {
        align-items: flex-start !important;
        padding: 10px !important;
    }

    #roomdetails #ViewRoomtypeData > .bg-white {
        --room-popup-image-height: 240px;
        width: 100% !important;
        max-height: calc(100vh - 20px);
    }

    #roomdetails .page-wrap {
        padding: 18px !important;
    }

    #roomdetails .carousel-arrow {
        width: 36px;
        height: 36px;
    }

    #roomdetails .left-arrowimg {
        left: 10px;
    }

    #roomdetails .right-arrowimg {
        right: 10px;
    }

    .room-card .card-body > .d-flex:first-child {
        align-items: flex-start !important;
        flex-direction: column;
    }

    .room-card .card-body .d-flex.align-items-center.justify-content-between.mt-4 {
        align-items: center !important;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 12px;
        width: 100%;
    }

    .room-card #roomcountsection {
        min-width: 128px;
    }

    .room-card .plus-minus {
        width: 34px;
        margin: 0;
        text-align: center;
    }

    span.font-weight-semibold.ml-1.name,
    span.text-muted.rm {
        display: inline;
        font-size: 15px;
    }

    .viewdtl {
        height: auto;
    }

    .price.text-right.price {
        flex: 1 1 auto;
        width: auto;
        min-width: 108px;
        text-align: right !important;
    }

    aside.col-lg-3.back {
        margin-left: -12px;
        margin-right: -12px;
        border-radius: 0;
    }

    .stepper {
        overflow-x: hidden;
        justify-content: center !important;
        max-width: 100%;
        grid-template-columns: minmax(0, 1fr) 22px minmax(0, 1fr) 22px minmax(0, 1fr);
        padding-bottom: 6px;
    }

    .stepper .dash {
        min-width: 0;
        width: 100%;
    }

    #Paxdetails .p-4 {
        padding: .75rem .75rem .5rem !important;
    }

    #Paxdetails .bg-white.rounded-4.shadow.w-100.position-relative {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        max-height: none;
        overflow-x: hidden;
    }

    #personaldetails section.container-fluid {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    #personaldetails .enter-dtls {
        font-size: 16px;
    }

    #personaldetails .form-group {
        margin-bottom: .65rem;
    }

    #personaldetails .charge-cardnew .row.no-gutters > .col {
        flex: 0 0 25%;
        max-width: 25%;
    }

    #paxdtls > .px-4 {
        min-width: 0;
        width: 100%;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    #paxdtls .paxbrd,
    #paxdtls .row-box {
        grid-template-columns: 30px 1.25fr 1fr 1fr 1fr;
        column-gap: 6px;
    }

    .rounded-pill.px-3.py-1.border.text-muted.small.d-flex.paxbrd,
    .row-box {
        min-width: 0;
    }

    .P-total-dtls .justify-content-end,
    #personalForm .justify-content-end {
        justify-content: flex-start !important;
        flex-wrap: wrap;
    }

    .save-nextbtn {
        float: none;
        width: 100%;
        margin: 12px 0 0;
    }

    .mr-4.borders {
        width: 100%;
        border-right: 0;
        border-bottom: 1px solid #C3C2C2;
        padding: 6px 0;
        margin-right: 0 !important;
    }

    .charge-cardnew .row.no-gutters {
        row-gap: 8px;
    }

    .charge-cardnew .row.no-gutters > .col {
        flex: 0 0 50%;
        max-width: 50%;
        text-align: left !important;
    }

    .promogft {
        max-width: 100%;
    }

    .input-promogft {
        padding-right: 76px;
    }

    .modal {
        align-items: flex-start;
        overflow-y: auto;
        padding: 14px 0;
    }

    .pax-container {
        width: 94vw;
    }

    .callender-container .mt-3.d-md-flex {
        display: block !important;
        width: 100%;
    }

    .calendar {
        width: 100%;
        margin-right: 0 !important;
        margin-bottom: 18px;
    }

    .calendar .dates,
    .calendar .days {
        width: 100%;
    }

    .modal-content.booking .d-flex.gap-3.mt-4 {
        flex-direction: column;
    }

    .booking-btn {
        width: 100%;
        margin-right: 0;
    }
}

@media (max-width: 575.98px) {
    .brand-bar .container.mar {
        display: grid !important;
        grid-template-columns: 58px minmax(0, 1fr);
    }

    .contact-group {
        grid-column: 1 / -1;
    }

    .contact-group > div {
        width: 100%;
    }

    .room-img > img {
        height: 190px;
    }

    #personaldetails section.container-fluid {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    #personaldetails .salutation {
        width: 64px;
        padding-right: 12px;
        font-size: 12px;
    }

    #personaldetails .form-control,
    #personaldetails .custom-select {
        font-size: 13px;
        height: 36px;
    }

    #personaldetails .charge-cardnew .row.no-gutters > .col {
        flex: 0 0 50%;
        max-width: 50%;
        text-align: left !important;
    }

    #personaldetails .d-flex.justify-content-end {
        justify-content: flex-start !important;
    }

    #personaldetails button.btn.btn-prv.pl-0,
    #personaldetails button.btn.button-savenext.px-3 {
        width: 100%;
        margin-right: 0;
    }

    #paxdtls > .px-4 {
        min-width: 0;
        width: 100%;
    }

    #paxdtls .paxbrd,
    #paxdtls .row-box {
        grid-template-columns: 24px 1.15fr 1fr 1fr 1fr;
        column-gap: 4px;
    }

    #paxdtls .paxbrd {
        font-size: 10px;
    }

    #paxdtls .row-box {
        font-size: 11px;
        padding: .45rem .55rem;
    }

    .stepper .step {
        width: 100%;
    }

    .stepper .dot {
        width: 34px;
        height: 34px;
    }

    .stepper .dot img {
        width: 18px;
    }

    .stepper .label {
        font-size: 9px;
        line-height: 1.2;
    }

    .stepper .dash {
        min-width: 0;
        margin-left: 0;
        margin-right: 0;
    }

    .qtynew {
        grid-template-columns: 22px 16px 22px;
        gap: .2rem;
        width: 66px;
    }

    .qtynew .btn-minus,
    .qtynew .btn-plus {
        width: 22px;
        height: 24px;
        font-size: .85rem;
    }

    .qtynew .val {
        width: 16px;
        font-size: 10px;
    }

    #roomdetails #ViewRoomtypeData > .bg-white {
        --room-popup-image-height: 210px;
    }

    #roomdetails #ViewRoomtypeData > .bg-white > button[aria-label="Close"] {
        width: 34px;
        height: 34px;
        top: 8px !important;
        right: 8px !important;
        font-size: 24px !important;
    }

    .view-photos {
        right: 8px;
        bottom: 8px;
        padding: 5px 8px;
    }

    .controls-wrap .input-group {
        flex-wrap: nowrap;
    }

    .controls-wrap .input-group-text {
        padding-left: 10px;
        padding-right: 10px;
    }

    .btn-Showrslt {
        height: 40px;
    }

    h5.mb-1.font-weight-bold.new {
        font-size: 16px;
    }

    p.text-mutednew {
        font-size: 13px;
    }

    .modal-content.booking,
    .modal-content.send,
    .modal-content.hmp {
        max-width: 92vw;
    }

    .success-badgepop {
        width: 108px;
        height: 108px;
    }

    .success-pop {
        width: 82px;
        height: 82px;
        border-width: 18px;
    }

    .channel {
        height: 84px;
        padding: 12px 8px;
    }
}

/* Keep Pax popup content contained in one shared popup scroll. */
#Paxdetails .bg-white.rounded-4.shadow.w-100.position-relative {
    width: min(860px, calc(100vw - 32px)) !important;
    max-width: min(860px, calc(100vw - 32px)) !important;
    max-height: calc(100dvh - 32px);
    overflow: auto;
    overscroll-behavior: contain;
}

#Paxdetails .pax-details .px-4,
#Paxdetails .person-details .px-4,
#Paxdetails .payment-details .px-4 {
    overflow: visible !important;
}

#Paxdetails #paxdtls .row-box,
#Paxdetails #paxdtls .paxbrd {
    min-width: 0 !important;
}

@media (max-width: 767.98px) {
    #Paxdetails .bg-white.rounded-4.shadow.w-100.position-relative {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        max-height: calc(100dvh - 20px);
        overflow: auto;
        overflow-x: hidden;
    }
}

#Paxdetails,
#roomdetails,
#availabilitymodal {
    overflow: hidden !important;
    overscroll-behavior: contain;
}

#roomdetails #ViewRoomtypeData > .bg-white {
    max-height: calc(100dvh - 32px);
}

#roomdetails .page-wrap {
    overscroll-behavior: contain;
}

.modal-content.booking,
.modal-content.send,
.modal-content.hmp {
    max-height: calc(100dvh - 32px);
    overflow: auto;
    overscroll-behavior: contain;
}

/* Payment popup: ensure Pax details and divider (line) are visible */
.modal-content.booking #Paxdetails,
.modal-content.booking #Paxdetails .pax-details,
.modal-content.booking #Paxdetails .row-box,
.modal-content.booking #Paxdetails .paxbrd,
.modal-content.booking #paxdtls {
    display: block !important;
    visibility: visible !important;
    overflow: visible !important;
}

.modal-content.booking .linesummary,
.modal-content.booking .P-total-dtls,
.modal-content.booking .totals-row {
    border-top: 1px solid rgba(0,0,0,.12) !important;
}
