@import url("../font/poppins/stylesheet.css");
body {
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  font-family: "Poppins", sans-serif;
  background-color: #fbf7ed;
}
/* ------------------
         Base css
  --------------------- */
.container {
  max-width: 1280px;
}
.bg_style {
  background-size: cover;
  background-repeat: no-repeat;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  color: #070707;
}
p {
  font-size: 16px;
  font-weight: 400;
  color: #737373;
}
img {
  max-width: 100%;
}
input:focus,
select:focus,
button:focus,
textarea:focus,
button:focus {
  outline: none;
}
a:hover,
a:focus {
  text-decoration: none;
  outline: none;
}
a {
  text-decoration: none !important;
}
ul {
  padding: 0;
  margin: 0;
  list-style-type: none;
}
.theme_btn {
  position: relative;
  display: inline-block;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  padding: 11px 32px;
  border: none;
  text-align: center;
  border-radius: 60px;
  background-color: #FF4E33;
  border: 1px solid #FF4E33;
  transition: all 0.3s;
}
.theme_btn.theme_btn_white{
  background-color: #fff;
  border: 1px solid #FF4E33;
  color: #FF4E33;
}
.theme_btn:hover {
  background-color: #fff;
  border: 1px solid #FF4E33;
  color: #FF4E33;
}
.theme_btn.theme_btn_white:hover{
  background-color: #FF4E33;
  border: 1px solid #FF4E33;
  color: #fff;
}
.theme_btn_sm{
  font-size: 14px;
  padding: 5px 22px;
}
.py_8 {
  padding: 80px 0;
}
.py_9 {
  padding: 90px 0;
}
.tittle_head_flx{
  display: flex;
  justify-content: space-between;
  margin: 0 0 22px;
}
.tittle_head {
  margin: 0 0 22px;
}
.tittle_head span.cap_txt {
  display: inline-block;
  position: relative;
  font-size: 16px;
  font-weight: 600;
  color: #070707;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 0 0 0 35px;
  margin-bottom: 8px;
}
.tittle_head span.cap_txt:before {
  content: "";
  position: absolute;
  width: 28px;
  height: 3px;
  background: #cd0303;
  border-radius: 10px;
  left: 0;
  top: 10px;
}
.tittle_head h2 {
  /* font-size: 32px; */
  font-size: 28px;
  font-weight: 600;
  margin: 0 0 0;
}
.tittle_head h2 span {
  color: #cd0303;
}
.tittle_head p {
  margin: 8px 0 0;
}
.wraper {
  min-height: 100vh;
}
/* -----------------
        header
-------------------- */
.main_header{
  /* padding: 10px 0; */
}
.header_flx{
  display: flex !important;
  align-items: center;
  justify-content: space-between;
}
.logo a{
  font-size: 30px;
  font-weight: 700;
  color: #070707;
  letter-spacing: 2px;
}
.nav_bar ul li,.nav_bar ul li a{
  display: inline-block;
}
.nav_bar ul li a{
  position: relative;
  font-size: 16px;
  font-weight: 500;
  color: #070707;
  padding: 20px 20px;
  transition: all 0.3s;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.nav_bar ul li a img{
  width: 30px;
}
.nav_bar ul li a:hover{
  color: #FF4E33;
  transition: all 0.3s;
}
.nav_bar ul li a::before{
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  bottom: 0;
  height: 4px;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  background-color: #FF4E33;
  opacity: 0;
  transition: all 0.3s;
  transform: translateY(4px);
}
.nav_bar ul li a:hover::before{
  opacity: 1;
  transition: all 0.3s;
  transform: translateY(0);
}

.header_btn_flx{
  display: flex;
  gap: 16px;
}
/* -----------------
        header end
-------------------- */


.hero_banner{
  background-color: #FFCB33;
  border-bottom-left-radius: 50%;
  border-bottom-right-radius: 50%;
  padding: 50px 0 0;
}
.hero_banner_tittle {
  text-align: center;
  margin-bottom: 30px;
}
.hero_banner_tittle h1{
  font-size: 38px;
  font-weight: 600;
  margin-bottom: 0;
}
.filter_hotle_card{
  position: relative;
  background-color: #fff;
  padding: 20px 20px 50px;
  border-radius: 12px;
  border: 1px solid #e9e9e9;
  box-shadow: 0 10px 20px rgb(0 0 0 / 6%);
}
.filter_hotle_flx{
  display: flex;
  gap: 14px;
}
.filter_hotle_flx .custom_input_filled{
  flex: 1;
}
.form_label{
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #070707;
}
.form_control{
  width: 100%;
  background-color: #f6f6f6;
  border: 1px solid #eae8e8;
  border-radius: 10px !important;
  padding: 11px 16px;
  font-size: 14px;
}
.form_control_select{
  width: 100%;
  background-color: #f6f6f6;
  border: 1px solid #eae8e8;
  border-radius: 10px ;
  padding: 11px 16px;
  font-size: 14px;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 16C11.8684 16.0008 11.7379 15.9755 11.6161 15.9258C11.4943 15.876 11.3834 15.8027 11.29 15.71L5.29 9.71C5.1017 9.5217 4.99591 9.2663 4.99591 9C4.99591 8.7337 5.1017 8.47831 5.29 8.29C5.47831 8.1017 5.7337 7.99591 6 7.99591C6.2663 7.99591 6.5217 8.1017 6.71 8.29L12 13.59L17.29 8.3C17.4813 8.13618 17.7274 8.05057 17.9791 8.06029C18.2307 8.07001 18.4695 8.17434 18.6476 8.35244C18.8257 8.53053 18.93 8.76927 18.9397 9.02095C18.9494 9.27262 18.8638 9.5187 18.7 9.71L12.7 15.71C12.5137 15.8947 12.2623 15.9989 12 16Z' fill='%23666666'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: 96% 50%;
  -webkit-appearance: none;
}
.filled_white{
  background-color: #fff;
}
.input_group_date{
  display: flex;
}
.calender_icon{
  position: absolute;
  top: 0;
  right: 0;
  padding: 9px 10px;
  border: none;
  background-color: transparent !important;
  border-radius: 10px;
}
.datepicker.datepicker-dropdown.dropdown-menu{
  padding: 10px 10px; 
}
.datepicker.datepicker-dropdown.dropdown-menu th.dow{
  font-size: 14px;
  font-weight: 600;
  color: #070707;
  width: 34px;
  height: 34px;
}
.datepicker.datepicker-dropdown.dropdown-menu td.day{
  font-size: 14px;
  font-weight: 400;
  color: #070707;
  width: 34px;
  height: 34px;
}
.counter_grid .counter {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f6f6f6;
  border: 1px solid #eae8e8;
  border-radius: 12px;
  padding: 3.5px 0;
}

.counter_grid .counter button {
  background: none;
  border: none;
  font-size: 24px;
  color: #070707;
  cursor: pointer;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.counter_grid .counter span {
  margin: 0 6px;
  font-size: 16px;
  color: #070707;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.counter_grid{
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
}
.select_age{
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
  margin: 10px 0 24px;
}
.guest_room_dropdown{
  background-color: #fff;
  border: 1px solid #e9e9e9;
  border-radius: 12px;
  padding: 16px 16px;
  box-shadow: 0 6px 16px rgb(0 0 0 / 8%);
}
.guest_room_dropdown_btn{
  text-align: right;
}
.custom_input_filled_guest.custom_input_filled_guest {
  flex: 0 0 424px;
}
.filter_hotle_btn{
  position: absolute;
  right: 0;
  left: 0;
  text-align: center;
  margin-top: 24px;
}
.filter_hotle_btn .theme_btn{
  padding: 15px 52px;
}
.offer_foryou {
  padding: 80px 0 50px;
}
.offer_card{
  display: flex;
  background-color: #fff;
  border: 1px solid #e9e9e9;
  gap: 16px;
  border-radius: 12px;
  padding: 16px 16px;
  margin: 0 10px;
}
.offer_card .offer_card_img{
  flex: 0 0 150px;
  height: 154px;
  border-radius: 12px;
}
.offer_card .offer_card_img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}
.offer_card .offer_card_content{
  flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.offer_card .offer_card_tittle h2{
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 0;
  line-height: unset;
}
.offer_card .offer_card_desc{
  margin-top: auto;
}
.offer_card .offer_card_desc p{
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 0;
}
.offer_slider .slick-list{
  margin: 0 -10px;
}
.slide_controls{
  display: flex;
  gap: 16px;
}
.slide_controls .slick-arrow{
  cursor: pointer;
}
.slide_controls .slick-arrow img {
  width: 40px;
}
.thumb_card{
  position: relative;
}
.thumb_card img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}
.thumb_card .thumb_card_img{
    position: relative;
    border-radius: 16px;
    overflow: hidden;
}
.thumb_card .thumb_card_img::before{
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(0 0 0 / 53%);
}
.thumb_card .thumb_card_full_cntnt{
  position: absolute;
  width: 100%;
  bottom: 0;
  padding: 16px 16px;
}
.thumb_card .thumb_card_full_cntnt h2{
  font-size: 26px;
  color: #fff;
  margin-bottom: 6px;
}
.thumb_card .thumb_card_full_cntnt p{
  font-size: 16px;
  color: #fff;
  margin-bottom: 0;
}
.thumb_card.thumb_card_full .thumb_card_img{
  height: 530px;
}
.thumb_card.thumb_card_half .thumb_card_img{
  height: 250px;
}
.thumb_card_half_grid{
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 30px;
}
.faq_sec{
  padding: 50px 0;
}
.faq_sec .accordion-button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-plus' viewBox='0 0 16 16'%3E%3Cpath d='M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z'/%3E%3C/svg%3E");
  transition: all 0.5s;
}
.faq_sec .accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-dash' viewBox='0 0 16 16'%3E%3Cpath d='M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z'/%3E%3C/svg%3E");
}
.faq_sec .accordion-button::after {
  transition: all 0.5s;
}
.faq_sec .accordion-button:not(.collapsed){
  background-color: #FF4E33;
  color: #fff;
  box-shadow: unset;
}
.faq_sec .accordion{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.faq_sec .accordion-item{
  box-shadow: unset;
  border: 1px solid #e9e9e9;
  border-radius: 18px;
}
.faq_sec .accordion-button{
  padding: 22px 22px;
  font-weight: 600;
  color: #070707;
  border-radius: 18px;
}
.accordion-item:first-of-type .accordion-button{
  border-radius: 18px;
}
.accordion-item:last-of-type .accordion-button.collapsed{
  border-radius: 18px;
}
.main_footer{
  padding: 40px 0 0;
  background-color: #fff;
}
.copy_right{
  padding: 10px 10px;
  margin-top: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  border-top: 1px solid #e9e9e9;
}
.copy_right p{
  font-size: 16px;
  font-weight: 500;
  color: #070707;
  margin-bottom: 0;
}
.payment_method_flx{
  display: flex;
  gap: 12px;
  align-items: center;
}
.follow_us_link ul {
  display: flex;
  gap: 12px;
  align-items: center;
}

.footer_head{
  margin-bottom: 16px;
}
.footer_head h2{
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 0;
}
.footer_flx {
  display: flex;
  gap: 12px;
  justify-content: space-between;
  flex-wrap: wrap;
}
.download_app{
  text-align: center;
}
.download_app .footer_head{
  text-align: center;
}
.payment_method_flx img {
  width: 70px;
}
.hotel_listing{
  padding: 50px 0;
}
.breadcrumb{
  margin-bottom: 24px;
}
.breadcrumb-item a{
  font-size: 14px;
  font-weight: 500;
  color: #070707;
}
.breadcrumb-item.active{
  color: #FF4E33;
}
.all_hotel_filter{
  background-color: #fff;
  border: 1px solid #e9e9e9;
  padding: 16px 16px;
  border-radius: 12px;
  position: sticky;
  top: 0;
}
.filter_head h2{
  padding: 20px 0;
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 0;
}
.all_hotel_filter_head h2{
  font-size: 20px;
  font-weight: 600;
  padding: 0 0 16px;
  border-bottom: 1px solid #e9e9e9;
  margin-bottom: 0;
}
.filter_head ul li{
  display: flex;
  justify-content: space-between;
  gap:12px;
  padding-bottom: 10px;
}
.filter_head ul li:last-child{
  padding-bottom: 0;
}
.filter_head ul li .form-check{
  margin-bottom: 0;
  font-size: 14px;
  font-weight: 400;
  color: #737373;
}
.number_filtter p{
  margin-bottom: 0;
  font-size: 14px;
  font-weight: 400;
  color: #070707;
}
.form-check-input:checked{
  background-color: #FF4E33;
  border-color: #FF4E33 ;
}
.all_hotel{
  padding: 80px 0 50px;
}
.all_hotel .hotel_card.hotel_card_vertical .hotel_card_img{
  height: 216px;
}

.hotel-card {
  display: flex;
  flex-wrap: wrap;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.image-section {
  flex: 0 0 300px;
}
.image-section img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.content-section {
  flex: 1;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.top-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.hotel-name {
  font-size: 22px;
  font-weight: bold;
}
.location {
  color: gray;
  font-size: 14px;
}
.rating {
  background: #38b000;
  color: white;
  font-weight: bold;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 14px;
  margin-left: 10px;
}
.tags, .features {
  margin: 10px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.tag {
  background: #f1f1f1;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 14px;
}
.feature {
  display: flex;
  align-items: center;
  font-size: 14px;
  gap: 6px;
  color: #333;
}
.bottom-section {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #eee;
  padding-top: 10px;
}
.price {
  font-size: 20px;
  font-weight: bold;
}
.price strike {
  color: #888;
  font-size: 16px;
  margin-right: 5px;
}
.login-save {
  color: #0056d2;
  font-weight: bold;
  font-size: 14px;
  margin-top: 10px;
}
.hotel_lising_grid{
  display: grid;
  flex-direction: repeat(1,1fr);
  gap: 20px;
}
.hotel_details_sec{
  padding: 50px 0 0;
}
.hotel_rating{
  display: flex;
  align-items: center;
  gap: 12px;
}
.five_star{
  display: flex;
  align-items: center;
  gap: 4px;
  background-color: #fff;
  border: 1px solid #FFCB33;
  border-radius: 8px;
  padding: 6px 8px;
}
.five_star span{
  font-size: 12px;
  font-weight: 400;
  color: #070707;
}
.couple_friendly{
  display: flex;
  align-items: center;
  gap: 4px;
  background-color: #fff;
  border: 1px solid #FFCB33;
  border-radius: 8px;
  padding: 6px 8px;
}
.couple_friendly span{
  font-size: 12px;
  font-weight: 400;
  color: #070707;
}
.hotel_name_flx {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin: 14px 0;
}
.hotel_name_text h2 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 2px;
}
.hotel_name_text ul {
  display: flex;
  gap: 10px;
}
.hotel_name_text ul li {
  font-size: 14px;
  font-weight: 400;
  display: flex;
  gap: 7px;
}
.map_location a {
  padding: 18px 12px;
  border-radius: 12px;
  border: 1px solid #e9e9e9;
  background-color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  font-weight: 500;
  color: #070707;
}
.room_slide_img{
  width: 100%;
  height: 370px;
  border-radius: 20px;
}
.room_slide_img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px;
}
.about_hotel{
  background-color: #fff;
  border: 1px solid #e9e9e9;
  border-radius: 12px;
  padding: 20px 24px;
  margin: 30px 0 30px;
}
.about_hotel_tittle{
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e9e9e9;
}
.about_hotel_tittle h2{
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 0;
}
.about_hotel_desc{
  margin-bottom: 20px;
}
.about_hotel_desc p{
  margin-bottom: 0;
}
.about_hotel_card{
  display: flex;
  align-items: center;
  gap: 12px;
}
.about_hotel_card_cntnt{
  flex: 1;
}
.about_hotel_card_cntnt p{
  font-size: 14px;
  margin-bottom: 0;
}
.about_hotel_card_img {
  width: 50px;
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #fbf7ed;
  border: 1px solid #e9e9e9;
  border-radius: 10px;
}
.room_type{
  padding: 0 0 50px;
}
.room_type_flx {
  background-color: #fff;
  border: 1px solid #e9e9e9;
  border-radius: 12px;
  padding: 20px 24px;
  display: flex;
  gap: 16px;
}
.room_type_img {
  height: 260px;
  border-radius: 16px;
}
.room_type_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}
.room_type_img_content ul {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 10px;
}
.room_type_img_content ul li {
  font-size: 14px;
  font-weight: 400;
  display: flex;
  gap: 10px;
}
.room_type_img_content {
  margin: 14px 0 0;
}
.room_type_right_flx {
  display: flex;
  gap: 12px;
}
.room_type_details_head h2 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 0;
}
.room_type_details_head {
  margin-bottom: 16px;
}
.room_type_details_list ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.room_type_details_list ul li {
  font-size: 14px;
  font-weight: 400;
  display: flex;
  gap: 12px;
}
.room_type_left {
  flex: 0 0 464px;
}
.off{
  margin-bottom: 6px;
}
.off span{
  display: inline-block;
  background-color: #FFCB33;
  padding: 4px 10px;
  color: #070707;
  font-size: 12px;
  font-weight: 500;
  border-radius: 6px;
}
.discount_price span{
  text-decoration: line-through;
  color: #737373;
}
.real_price{
  margin: 30px 0 0;
}
.real_price h3{
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 0;
}
.real_price h3 sub{
  font-size: 14px;
  font-weight: 400;
  color: #737373;
  bottom: 0px;
}
.room_per_night p{
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 0;
}
.price_btn{
  margin: 16px 0 0;
}
.price_summary{
  position: sticky;
  top: 0;
  background-color: #fff;
  border: 1px solid #e9e9e9;
  border-radius: 12px;
  padding: 20px 24px;
}
.info_tittle {
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e9e9e9;
}
.info_tittle h2 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 0;
}
.price_summary_list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.price_summary_list li{
  display: flex;
  gap: 12px;
  justify-content: space-between;
  font-size: 14px;
  font-weight: 400;
  color: #737373;
}
.price_summary_list li span{
  color: #070707;
  font-weight: 600;
}
.total_amount{
  padding: 20px 0 0;
  border-top: 1px solid #e9e9e9;
  margin: 20px 0 0;
}
.total_amount h4{
  display: flex;
  gap: 12px;
  justify-content: space-between;
  font-size: 18px;
  font-weight: 600;
}
.hotel_info_sec{
  padding: 50px 0 50px;
  position: relative;
}
.hotel_info_sec::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background-color: #FFCB33;
  width: 100%;
  height: 240px;
  z-index: -1;
}
.hotel_info{
  background-color: #fff;
  border: 1px solid #e9e9e9;
  border-radius: 12px;
  padding: 20px 24px;
  margin-bottom: 24px;
}
.hotel_info_card{
  display: flex;
  gap: 12px;
}
.hotle_info_img{
  flex: 0 0 300px;
  height: 200px;
  border-radius: 12px;
}
.hotle_info_img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}
.ratting_info{
  margin-bottom: 12px;
}
.hotle_info_conetnt{
  flex: 1;
}
.hotle_info_conetnt_txt h3{
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 6px;
}
.hotle_info_conetnt_txt p{
  margin-bottom: 0;
}
.check_details_card p{
  font-size: 14px;
  margin-bottom: 6px;
}
.check_details_card h4{
  font-size: 18px;
  margin-bottom: 0;
}
.check_details ul{
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin: 20px 0 0;
}
.guest_details{
  background-color: #fff;
  border: 1px solid #e9e9e9;
  border-radius: 12px;
  padding: 20px 24px;
}
.guest_details_grid{
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 20px;
}
.cancel_policy{
  text-align: center;
}
.cancel_policy a{
  font-size: 14px;
  font-weight: 500;
  color: #FF4E33;
  display: inline-block;
  text-decoration: underline !important;
}
.custom_modal .modal-content{
  border-radius: 20px;
  border: none;
}
.custom_modal .modal-title{
  font-size: 18px;
  font-weight: 600;
}
.cancellation_policy_content_flx{
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.cancellation_policy_tittle h2{
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 12px;
}
ul.cancellation_policy_list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
ul.cancellation_policy_list li{
  display: flex;
  gap: 10px;
}
.cancellation_policy_list_txt{
  flex: 1;
}
.cancellation_policy_list_txt p{
  font-size: 14px;
  margin-bottom: 0;
}
.login_flx{
  display: flex;
  gap: 20px;
}
.login_flx_left_head {
  margin-bottom: 10%;
}
.login_flx_left_head h4{
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #ff4e33;
  margin-bottom: 0;
}
.unlock_benefits_card_flx{
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.unlock_benefits_card{
  display: flex;
  gap: 14px;
}
.unlock_benefits_card_content{
  flex: 1;
}
.unlock_benefits_card_content h3{
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 2px;
}
.unlock_benefits_card_content p{
  font-size: 14px;
  margin-bottom: 0;
}
.flat_off{
  position: relative;
  background-color: #FFFCF5;
  border: 1px solid #f4ebca;
  padding: 10px 10px 10px 16px;
  margin-top: 24px;
  border-radius: 10px;
  overflow: hidden;
}
.flat_off::before{
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  background-color: #FFCB33;
}
.flat_off h4{
  font-size: 14px;
  margin-bottom: -4px;
}
.flat_off span{
  display: inline-block;
  font-size: 12px;
  font-weight: 400;
  color: #737373;
}
.login_head{
  display: flex;
  justify-content: space-between;
  margin-bottom: 24px;
}
.login_head h2{
  font-size: 20px;
  font-weight: 600;
}
.login_flx_right {
  display: flex;
  flex-direction: column;
  flex: 0 0 395px;
  padding: 26px 25px;
  background-color: #FFFCF5;
  border: 1px solid #f4ebca;
  border-radius: 20px;
}
form.login_form .login_form_btn{
  margin: 40px 0 24px;
}
form.login_form .login_form_btn .theme_btn{
  width: 100%;
}
.condition_policy{
  margin-top: auto;
  text-align: center;
}
.condition_policy p{
  font-size: 14px;
  margin-bottom: 0;
}
.condition_policy p a{
  color: #FF4E33;
  text-decoration: underline !important;
}
.otp_filled{
  display: flex;
  gap: 12px;
}
.didnot_get{
  margin: 0 0 24px;
  text-align: right;
}
.didnot_get a{
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  color: #FF4E33;
  margin-bottom: 0;
  text-decoration: underline !important;
}
.bus_route_grid{
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
}
.bus_route_card{
    background-color: #fff;
    padding: 20px 20px;
    border-radius: 12px;
    border: 1px solid #e9e9e9;
    display: flex;
    gap: 14px;
}
.bus_route_card_txt{
  flex: 1
}
.bus_route_card_txt h3{
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 4px;
}
.bus_route_card_txt p{
  font-size: 14px;
  font-weight: 400;
  margin-bottom: 0;
}
.bus_route_card_txt p a{
  color: #FF4E33;
}
.checkout_form{
  padding: 30px 0;
}
.checkout_form_card{
  background-color: #fff;
  padding: 20px 20px;
  border-radius: 12px;
  border: 1px solid #e9e9e9;
}
.billing_head{
  margin-bottom: 16px;
}
.billing_head h2{
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 0;
}
.payment_options_flx{
  display: flex;
  gap: 12px;
  margin-bottom: 22px;
}
.custom-control.custom-radio{
  accent-color: #FF4E33;
}
.checkout_form_btn{
  text-align: right;
}
.redem_flx{
  display: flex;
}
.redem_flx .form_control{
  border-radius: 30px !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}
.redem_flx .theme_btn{
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.payment_list_item .list-group-item{
  border-color: #e9e9e9;
}
.payment_list_item .list-group-item:first-child{
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
}
.payment_list_item .list-group-item:last-child{
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}
.billing_card{
  position: sticky;
  top: 0;
}
.bus_seat_grid{
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.bus_list_card {
  background-color: #fff;
  border: 1px solid #e9e9e9;
  padding: 16px 16px;
  border-radius: 12px;
}
.bus_name_txt h2{
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 4px;
}
.bus_name_txt p{
  font-size: 12px;
  margin-bottom: 0;

}
.bus_list_card {
  background-color: #fff;
  border: 1px solid #e9e9e9;
  padding: 16px 16px;
  border-radius: 12px;
}

.rating_flx {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 16px;
}
.rating_bus_badge span {
  display: inline-block;
  padding: 3px 9px;
  background-color: #ffcb33;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 500;
}
.rating_number p {
  font-size: 14px;
  margin-bottom: 0;
}
.time_pick h3{
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 2px;
}
.time_pick span{
  display: inline-block;
  font-size: 12px;
  margin-bottom: 0;
  color: #737373;
}
.time_pick_drop {
  display: flex;
  justify-content: space-between;
  gap: 26px;
}
.time_btw p{
  font-size: 12px;
  margin-bottom: 0;
  
}
.time_btw span{
  display: inline-block;
  max-width: 300px;
  width: 100%;
  height: 2px;
  position: relative;
  background-color: #737373;
}
.time_btw span::before{
  content: '';
  position: absolute;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #737373;
  top: 50%;
  transform: translateY(-50%);
}
.time_btw span::after{
  content: '';
  position: absolute;
  right: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #737373;
  top: 50%;
  transform: translateY(-50%);
}
.time_btw {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.bus_list_card_flx{
  display: flex;
  justify-content: space-between;
  gap: 12px;  
}
.bus_fare h4 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 0;
}
.bus_fare span{
  display: inline-block;
  font-size: 14px;
  font-weight:400;
  text-decoration: line-through;
  color: #737373;
}
.window_seat p{
  font-size: 12px;
  margin-bottom: 0;
}
.total_seat h4{
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 16px;
}
.my_tab {
  padding: 16px 0 0;
  margin-top: 16px;
  border-top: 1px solid #e9e9e9;
}
.my_tab .nav.nav-pills{
  background-color: #fbf7ed;
  border: 1px solid #e9e9e9;
  display: inline-flex;
  padding: 4px 4px;
  border-radius: 40px;
}
.my_tab .nav-link{
  color: #070707;
  font-size: 14px;
  font-weight: 500;
  border-radius: 30px;
}
.my_tab .nav-pills .nav-link.active, .my_tab  .nav-pills .show > .my_tab  .nav-link{
  background-color: #ffcb33;
  color: #070707;
}

/* ******************* Main Styeles : Radio Card */
.custon_radio_boarding label.radio-card {
  cursor: pointer;
}
.custon_radio_boarding .card-content-wrapper {
  background-color: #fff;
  border-radius: 12px;
  padding: 10px 10px;
  transition: 200ms linear;
  border: 1px solid #e9e9e9;
  display: flex;
  gap: 12px;
}
label.radio-card .check-icon {
  width: 20px;
  height: 20px;
  display: inline-block;
  border: solid 2px #e3e3e3;
  border-radius: 50%;
  transition: 200ms linear;
  position: relative;
}
label.radio-card .check-icon:before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.93552 4.58423C0.890286 4.53718 0.854262 4.48209 0.829309 4.42179C0.779553 4.28741 0.779553 4.13965 0.829309 4.00527C0.853759 3.94471 0.889842 3.88952 0.93552 3.84283L1.68941 3.12018C1.73378 3.06821 1.7893 3.02692 1.85185 2.99939C1.91206 2.97215 1.97736 2.95796 2.04345 2.95774C2.11507 2.95635 2.18613 2.97056 2.2517 2.99939C2.31652 3.02822 2.3752 3.06922 2.42456 3.12018L4.69872 5.39851L9.58026 0.516971C9.62828 0.466328 9.68554 0.42533 9.74895 0.396182C9.81468 0.367844 9.88563 0.353653 9.95721 0.354531C10.0244 0.354903 10.0907 0.369582 10.1517 0.397592C10.2128 0.425602 10.2672 0.466298 10.3112 0.516971L11.0651 1.25003C11.1108 1.29672 11.1469 1.35191 11.1713 1.41247C11.2211 1.54686 11.2211 1.69461 11.1713 1.82899C11.1464 1.88929 11.1104 1.94439 11.0651 1.99143L5.06525 7.96007C5.02054 8.0122 4.96514 8.0541 4.90281 8.08294C4.76944 8.13802 4.61967 8.13802 4.4863 8.08294C4.42397 8.0541 4.36857 8.0122 4.32386 7.96007L0.93552 4.58423Z' fill='white'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: 10px;
  background-position: center center;
  transform: scale(1.6);
  transition: 200ms linear;
  opacity: 0;
}
label.radio-card input[type=radio] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
label.radio-card input[type=radio]:checked + .card-content-wrapper {
  background-color: #fbf7ed;
}
label.radio-card input[type=radio]:checked + .card-content-wrapper .check-icon {
  background-color: #FF4E33;
  border-color: #FF4E33;
  transform: scale(1.2);
}
label.radio-card input[type=radio]:checked + .card-content-wrapper .check-icon:before {
  transform: scale(1);
  opacity: 1;
}
label.radio-card input[type=radio]:focus + .card-content-wrapper .check-icon {
  box-shadow: 0 0 0 4px rgba(48, 86, 213, 0.2);
  border-color: #3056d5;
}
.custon_radio_boarding .card-content img {
  margin-bottom: 10px;
}
.custon_radio_boarding .card-content h4 {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 2px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.custon_radio_boarding .card-content p {
  font-size: 12px;
  margin-bottom: 0;
}
.my_tab_content_head{
  margin: 0 0 12px;
}
.my_tab_content_head h5{
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 0;
}
.boarding_card_head {
  margin-bottom: 10px;
}
.boarding_card_head h6{
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 0;
}
.custon_radio_boarding {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.custon_radio_boarding .card-content{
  display: flex;
  flex-direction: column;
  flex: 1;
}
.boarding_card_flx{
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 12px; 
}
.boarding_list_gird{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.my_tab_content_inner{
  margin-top: 16px;
}
.my_tab_content_inner_grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  gap: 20px; 
}
/* bus */
.bus_seat {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  padding: 10px 16px;
}
.bus_seat_col{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 16px;
}
.select_bus_seat{
  cursor: pointer;
}
.bus_structure {
  padding: 14px 14px;
  border: 1px solid;
  display: flex;
}
.bus_structure {
  padding: 0 0;
  border: 1px solid;
  border: 1px solid #e9e9e9;
  border-radius: 12px;
  display: flex;
}
.drive_side {
  background-color: #fbf7ed;
  border-right: 1px solid #e9e9e9;
  background-color: #fbf7ed;
  padding: 12px 7px 16px;
}
.seat_flex {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
}
.seat_flex .seat_color{
  width: 16px;
  height: 16px;
  border: 1px solid #bbbbbb;
  border-radius: 4px;
}
.seat_flex .seat_color.available_seat{
  background-color: #fff;
}
.seat_flex .seat_color.booked_seat{
  background-color: #1d7723;
}
.seat_flex .seat_color.ladies_seat{
  background-color: #F43985;
}
.seat_flex .seat_color.men_seat{
  background-color: #27A8F8;
}
.travle_deatils_pick_card_grid,.travle_deatils_card, .travel_passender_card {
  background-color: #fff;
  border: 1px solid #e9e9e9;
  border-radius: 12px;
  padding: 16px 16px;
}
.travle_flx{
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.travle_deatils_bus h1 {
  font-size: 26px;
  font-weight: 600;
  text-transform: capitalize;
  margin-bottom: 4px;
}
.travle_deatils_bus p {
  margin-bottom: 0;
}
.selected_seat_no_flx{
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 16px;
  margin-top: 10px;
  border-top: 1px solid #e9e9e9;
}
.selected_seat_no_flx h3{
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 0;
}
.selected_seat_no {
  display: flex;
  align-items: center;
  gap: 9px;
}
.selected_seat_no span {
  position: relative;
  padding-left: 14px;
  font-size: 14px;
  font-weight: 600;
  color: #737373;
}
.selected_seat_no span::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: #737373;
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.travle_deatils_pick_card_grid {
  display: flex;
  gap: 20px;
}
.travle_deatils_pick_card span {
  font-size: 14px;
  font-weight: 500;
  display: inline-block;
}
.boarding_time_date p{
  display: inline-block;
  background-color: #FF4E33;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  padding: 4px 12px;
  border-radius: 30px;
  color: #fff;
  margin-bottom: 0;
}
.travle_deatils_pick_card_flx{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.travle_deatils_pick_card_contnt h2{
  font-size: 18px;
  font-weight: 600;
  text-transform: capitalize;
  margin-bottom: 10px;
}
.travle_deatils_pick_card_contnt p{
  font-size: 12px;
  margin-bottom: 0;
}
.travel_passender_head{
  margin-bottom: 14px;
}
.travel_passender_head h2{
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 4px;
}
.travel_passender_head p{
  font-size: 12px;
  margin-bottom: 0;
}
.travel_passender_deatils_flx{
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.travel_passender_deatils_flx_card{
  background-color: #fafafa;
  border: 1px solid #e9e9e9;
  padding: 18px 20px;
  border-radius: 12px;
}
.travel_passender_deatils_head h3{
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 4px;
}
.travel_passender_deatils_head p{
  font-size: 12px;
  margin-bottom: 0;
}
.travel_passender_deatils_head_flx{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border-bottom: 1px solid #e9e9e9;
  padding-bottom: 12px;
  margin-bottom: 12px;
}
.travel_passender_seat p{
  font-size: 14px;
  font-weight: 500;
  color: #FF4E33;
  margin-bottom: 0;
}
.gender_flx {
  display: flex;
  gap: 10px;
}
.contact_form{
  max-width: 620px;
  margin: 0 auto;
  background-color: #fff;
  border: 1px solid #e9e9e9;
  border-radius: 12px;
  padding: 24px 24px;
}
.contact_us_head {
  margin-bottom: 24px;
}
.contact_us_head h1{
  font-size: 26px;
  font-weight: 600;
  margin-bottom: 4px;
}
.contact_us_head p{
  font-size: 14px;
  margin-bottom: 0;
}
.privacy_policy{
  background-color: #fff;
  border: 1px solid #e9e9e9;
  border-radius: 12px;
  padding: 24px 24px;
}
.privacy_policy_head{
  margin-bottom: 20px;
}
.privacy_policy_head h1{
  font-size: 26px;
  font-weight: 600;
  margin-bottom: 0;
}
.privacy_policy_content{
  padding-bottom: 20px;
  border-bottom: 1px solid #e9e9e9;
}
.privacy_policy_content:last-child{
  padding-bottom: 0;
  border-bottom: none;
}
.privacy_policy_content h2{
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 10px;
}
.privacy_policy_content p{
  font-size: 14px;
  margin-bottom: 0;
}
.list_content_privacy{
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.list_content_privacy li{
  position: relative;
  font-size: 14px;
  padding-left: 20px;
}
.list_content_privacy li::before{
  content: '';
  position: absolute;
  top: 7px;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #070707;
}
.privacy_policy_content_flx{
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.check_input label .check_input_show{ 
  display: none;
}
.check_input input:checked+label .check_input_show{
  display: flex;
}
.hotel_img_block{
  flex-shrink: 0;
}
.hotel_card_content_left{
  flex: 1;  
  display: flex;
}
/* responsive */
@media (max-width: 1024px) { 
  .thumb_card .thumb_card_full_cntnt h2 {
    font-size: 18px;
  }
  .thumb_card .thumb_card_full_cntnt p{
    font-size: 14px;
  }
  .hotel_name_row h2{
    font-size: 16px;
    font-weight: 600;
  }
  .actual_price{
    font-size: 22px;
    font-weight: 600;
  }
}
@media (max-width: 991px) { 
  .header_flx{
    display: none;
  }
  
  .tittle_head h2{
    font-size: 24px;
  }
  .hero_banner_tittle h1{
    font-size: 32px;
  }
  .filter_hotle_flx .custom_input_filled{ 
    flex: 0 0 calc(50% - 7px);
  }
  .filter_hotle_flx{
    flex-wrap: wrap;
  }
  .custom_input_filled_guest.custom_input_filled_guest{
    flex: 0 0 calc(50% - 7px);
  }
  .popular_destination .tittle_head{
    text-align: center;
  }
  

}

@media (max-width: 767px) {
  .tittle_head h2{
    font-size: 22px;
  }
  p,.accordion-body{
    font-size: 14px !important;
  }
  .content-section {
    padding: 15px;
  }
  .bottom-section {
    flex-direction: column;
    align-items: flex-start;
  }
  .hero_banner_tittle h1 {
    font-size: 22px;
  }
  .filter_hotle_flx .custom_input_filled,.custom_input_filled_guest.custom_input_filled_guest{ 
    flex: 100%;
  }
  .footer_flx{
    justify-content: center;
  }
  .copy_right{
    justify-content: center;
  }
  .faq_sec .accordion-button{
    padding: 20px 16px;
    font-weight: 500;
  }
  .hotel_card_container{
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .hotel_name_row h2{
    font-size: 16px !important;
    font-weight: 600 !important;
  }
  .actual_price{ 
    font-size: 18px !important;
    font-weight: 600 !important;
  }
 
}

.more-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.55);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 22px;
    z-index: 5;
}

.gallery-item {
    position: relative;
}

@media (max-width: 567px) {
  .thumb_card_half_grid{
    grid-template-columns: repeat(1, 1fr);
  }
  .hotel_card_content_left{
    flex-direction: column;
    width: 100%;
  }
  .hotel_img_block{
    width: 100% !important;
  }
  .hotel_price_block{
    text-align: left !important;
  }
  .rating_wrapper{
    justify-content: flex-start !important;
  }
  .hotel_detail_block{
    border-right: none;
    border-bottom: 1px solid #f2f2f2;
  }
  .hotel_name_row{
    gap: 4px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }

}