/**
 * Theme Name:     Twenty Twenty-Five Child
 * Author:         the WordPress team
 * Template:       twentytwentyfive
 * Text Domain:	   twenty-twenty-five-child
 * Description:    Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
 */

/**
 * Theme Name:     Twenty Twenty-Five Child
 * Author:         the WordPress team
 * Template:       twentytwentyfive
 * Text Domain:	   twenty-twenty-five-child
 * Description:    Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
 */


/* main color: #BC0A0A */
.wp-block-kadence-advancedbtn .kb-button {
    
    border-radius: 30px;

}

ul{
	padding-left: 25px;
}

.jet-apb-appointments-item-count:after{
	content: "Number of persons: ";
	padding-right: 10px;
}
.jet-apb-appointments-item-count {
    display: flex
;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-end;
}
.jet-apb-calendar-appointments-list {
    padding: 12px 0 !important;
    

}
.jet-apb-appointments-item-count-controls-decrease,
.jet-apb-appointments-item-count-controls-increase{
	font-size: 20px;
	
	line-height: 1em;
	padding: 5px;
	background: #BE0000;
	color: #fff;
	width: 28px !important;
	
}
.jet-apb-appointments-item-count-num{
	padding: 0 5px;
	margin: 0 10px;
	border-bottom: 2px dotted #111;
}
.jet-apb-appointments-item-content{
	display: block !important;
}
.jet-apb-appointments-item {
   
    display: block !important;
}
.jet-apb-slot{
	padding: 2px 8px;
	background: #C70C0B;
	opacity: 0.7;
	color: #fff;
	border-radius: 4px;
	
		
}
.jet-apb-slot--selected,
.jet-apb-slot:hover{
	opacity: 1;
}
.jet-apb-calendar .jet-apb-calendar-slots.jet-apb-calendar-slots--active, .jet-apb-calendar .jet-apb-calendar-slots.jet-apb-calendar-slots--active .jet-apb-calendar-slots {
    padding: 3px !important;
    background: #fff;
	margin: 0 5px;
	
	
}
.jet-apb-calendar .jet-apb-calendar-slots .jet-apb-calendar-slots-container {
   
    padding: 0 !important;
}
.jet-apb-slot {
  font-size: 0 !important;
  line-height: 1; /* optional, keeps vertical spacing tidy */
}

.jet-apb-slot small {
  font-size: 0.9rem; /* set the size you want */
  line-height: normal;
  display: inline-block; /* helps the size reset reliably */
}
.jet-apb-calendar-slots__close {
/*     font-size: 30px;
    top: 4px;
    right: 2px; */
display: none; 
}
.jet-apb-calendar-content{
	background: #fff;
	padding: 15px;
}
.jet-apb-calendar-sidebar{
	
	padding: 0;
	margin: 0;
} 
.jet-apb-calendar .jet-apb-calendar-slots .jet-apb-slot{
	font-size: 12px;
	margin: 5px !important;
}

.jet-apb-appointments-item-content {
    display: flex !important;
}
.jet-apb-calendar-appointments-list-wrapper .jet-apb-item-service-provider{
	display: none;
}
.jet-apb-appointments-item-content{
	border-top: 1px solid #ccc;
	margin-top: 10px;
	padding-top: 5px;
}
.jet-apb-calendar-appointments-list-wrapper .jet-form-builder__heading{
	margin-top: 10px;
	color: #fff;
	font-weight: 600;
	padding-bottom: 5px;
}
.jet-form-builder-row.field-type-appointment-date .jet-form-builder__label{
	color: #fff;
	font-weight: 600;
	padding: 5px 0;
}
.jet-form-builder-row.field-type-appointment-date{
	background-color: #BC0A0A !important;
	
	border-radius: 10px
}
.jet-apb-appointments-item {
    
    margin-bottom: 0 !important;
    

}
.jet-apb-calendar-appointments-list{
	background: #fff;
	padding: 10px !important;
}
.jet-apb-calendar-content, 
.jet-apb-calendar-slots, 
.jet-apb-calendar-appointments-list{
	border-radius: 6px
}
.jet-apb-item-time:after{
	content: "|"; 
	padding: 0 6px;
	font-size: 16px;
}

/* flex fixing */
.jet-form-builder-row {
  
;
    flex-wrap: nowrap;
    
}
.jet-apb-calendar.jet-apb-calendar-layout--sidebar_slots {
    
    flex-wrap: wrap;
}
.jet-apb-calendar-content{
	margin-bottom:10px;
}
.jet-apb-calendar-date:hover, 
.jet-apb-calendar-date--selected{
	background: #BC0A0A;
	color: #fff;
	border-radius: 5px;
}

/* form container */
/* Optional: styling for the toggle button */
#toggleButton {
 background: #BC0A0A;
  padding: 14px 30px;
  font-size: 16px;
  cursor: pointer;
  z-index: 9;
	border-radius: 30px;
	color: #fff;
	border: 1px solid #BC0A0A;
	
}

/* Form container is fixed at the bottom with flexible height */
#formContainer {
  position: fixed;
  right: 2%;
  bottom: 0;
  width: auto;
  /* Let the height be determined by content */
  background-color: #fff;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.2);
  transition: transform 0.4s ease-in-out;
  /* When collapsed, shift down by 80% of its own height so that 20% remains visible */
  transform: translateY(91%);
  /* Ensure content beyond the visible part is hidden */
  
	border-radius: 12px 12px 0 0;
	padding: 0 15px 15px 15px; 
	background: #BC0A0A;
	z-index: 9999;
}

/* Expanded state: slide the container fully into view */
#formContainer.expanded {
  transform: translateY(0);
}

/* Form header styling (always visible) */
#formHeader {
 padding-top: 10px;
  color: #fff;
  margin-bottom: 5px ;
  cursor: pointer;
}
#formHeader .jet-form-builder-row.field-type-calculated-field{
    display: flex !important
;
    flex-direction: row;
    flex-wrap: nowrap;
    
}
#formHeader .jet-form-builder__calculated-field{
	justify-content: flex-end;
	font-weight: 600;
}
#formHeader .jet-form-builder__label{
	 font-size: 22px;
	font-weight: 600;
}
.field-type-calculated-field{
	color: #fff;
}
.field-type-submit-field button{
	color: #000;
	border: 1px solid #fff;
	background: #fff;
}
.jet-form-builder__label-text{
	color: #fff;
}

.wc-block-components-order-summary-item__image{
	display: none !important;
}
.layout-column .jet-form-builder__field:not(.textarea-field) {
    height: 40px;
	padding: 12px;
    
}
.layout-column .jet-form-builder__field.textarea-field{
	height: 80px;
	padding: 12px;
}
.layout-column .jet-form-builder__field:focus {
  box-sizing: border-box;
  border: 3px solid #ccc;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  outline: none; 
}
.field-type-submit-field button {
    color: #111;
    border: 1px solid #fff;
    background: #fff;
    padding: 10px 18px;
	font-size: 16px;
}

.field-type-submit-field button:hover {
    color: #111;
	cursor: pointer;
    border: 1px solid #EBBAB4;
    background: #EBBAB4;
	-webkit-transition: 0.5s;
  	transition: 0.5s;
    padding: 10px 18px;
}
.jet-apb-calendar-content .jet-apb-calendar-date, 
.jet-apb-calendar-content .jet-apb-calendar-week, 
.jet-apb-appointments-item{
	font-size: 15px;
}

/* checkout form style */
.wc-block-components-form {
    border: 1px solid hsla(0, 0%, 7%, .11);
    border-radius: 5px;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    padding: 20px;
}
.wp-block-woocommerce-checkout-order-summary-block {
    border: 1px solid hsla(0, 0%, 7%, .11);
    border-radius: 5px;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}
.wc-block-components-sidebar {
    
    margin-top: 0;
    
}
/* .switch-candy input:checked+label {
    
    background: #BC0A0A;
} */
.wc-block-components-order-summary .wc-block-components-order-summary-item__description {
   
    padding-left: 0;
   
}

.wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button{
	background: #BC0A0A;
}
.wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:hover{
	background: #2D3035;
}
.wp-block-woocommerce-checkout{
	padding-bottom: 100px;
}


/* listing grid */
.jet-listing-grid__item .wp-block-post-title{
	min-height: 50px;
	overflow: hidden;
  	text-overflow: ellipsis;
   	display: -webkit-box;
  	-webkit-line-clamp: 2; /* number of lines to show */
            line-clamp: 2;
   	-webkit-box-orient: vertical;
}
.jet-listing-grid__item:hover .read_more_btn{
	background :#BC0A0A;
	transition: background-color 0.5s ease;
	color: #fff;
}
.jet-listing-grid__item .jet-listing-dynamic-field {
    justify-content: center;
}
.price_item .jet-listing-dynamic-field__inline-wrap .jet-listing-dynamic-field__content{
    padding: 10px;
    background: #EDF2F7;
    margin-top: -40px;
    z-index: 1;
    font-weight: 700;
    border-radius: 3px;
	font-size: 15px;
}
.jet-listing-grid__item .read_more_btn{
	background: #EDF2F7;
    width: fit-content;
    margin: auto;
}




 #formHeader:before {
  content: "";
  position: absolute;
  top: -14px;
  left: 50%;
  margin-left: -18px;
  width: 36px;
  height: 36px;
  background-color: #BC0A0A;
  border-radius: 50%;
  background-image: url('https://john.webiic.com/wp-content/uploads/2025/04/link.svg');
  background-size: 60%; /* Adjust percentage or use specific dimensions */
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.expanded #formHeader:before {
	transform: scaleY(-1);
	
}
.single_tour_heading{
	font-weight: bold;
}

.form_container2 .jet-form-builder-row {
   
    width: 340px;
}
.form_container2 .wp-block-heading{
	font-size: 22px;
	font-weight: 600;
	text-align: center;
	padding-top: 10px;
}

.jet-form-builder-message {
    margin: 10px 0 0 0;
    text-align: center;
    padding: 0;
}
.jet-form-builder-message--error {
    border: 1px solid #FFEB3B;
    color: #FFEB3B;
}
.jet-form-builder-row.field-has-error .error-message{
	color: #FFEB3B;
}
.jet-form-builder-message--success {
    border: 1px solid #00ff00;
    color: #00ff00;
}



.number-input {
  display: inline-flex;
  align-items: flex-end;
	position: relative;
	
}
.btn-decrement{
	padding: 8px 20px;
    font-size: 18px;
    position: absolute;
    left: 0;
    bottom: 5px;
	z-index: 1;
}

.btn-increment{
	padding: 8px 20px;
    font-size: 18px;
    position: absolute;
    right: 0;
    bottom: 5px;
	z-index: 1;
   
}
.number-input .number{
	text-align: center;
}
.btn-increment:hover,
.btn-decrement:hover{
	background: #BC0A0A;
	color: #fff;
	cursor: pointer;
	border-color: #fff;
   
}
.layout-column .jet-form-builder__field {
   
    font-size: 16px;
    font-family: Manrope, sans-serif;
}

.is_this{
	background: #EDF2F7;
	padding: 15px;
}
.is_this h3{
	margin-bottom: 0;
}
.is_this p{
	margin-top: 8px;
}



/* timeline reapeater */
    .last_timeline{
        padding-left: 30px;
        margin-top: -30px;
    }
    /* Clipped, animated dashed line */
    .timeline {
  position: relative;
  padding-left: 30px;
  
}

.timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 12px; /* stops before last icon (24px/2) */ 
  left: 15px;    /* centers 2px-wide line under 24px icons */
  width: 3px;
  /* Dotted effect via radial gradient dots */
  background: repeating-radial-gradient(
    circle at 50% 0,
    #f55b5b 0,
    #f55b5b 3px,
    transparent 3px,
    transparent 8px
  );
  /* Continuous flow animation */
  animation: dot-flow 1s linear infinite;
}

@keyframes dot-flow {
  to {
    /* move dots downward by one full cycle (2px dot + 6px gap) */
    background-position: 0 8px;
  }
}


    .timeline-entry {
      position: relative;
      margin-bottom: 30px;
    }
    .timeline-entry img.icon {
        position: absolute;
		left: -32px;
		top: 0;
		width: 28px;
		height: 28px;
		background: white;
		border-radius: 50%;
		border: 2px solid #f55b5b;
		padding: 2px;
    }
    .timeline-entry .content {
      margin-left: 20px;
    }
    .timeline-entry h4 {
      margin: 0 0 4px;
      
      
    }
    .timeline-entry span {
      
      
    }
    .timeline-entry a {
      font-size: 13px;
      color: #0077cc;
      text-decoration: none;
    }
    .timeline-entry a:hover {
      text-decoration: underline;
    }

.timeline .jet-listing-dynamic-repeater__item:last-child{
	position: relative;
}
.timeline .jet-listing-dynamic-repeater__item:last-child .timeline-entry{
	margin-bottom: 0;
	
}
.single_day_itinerary .jet-listing-dynamic-repeater__item:last-child::before{
    content: "";
    position: absolute;
    top: 36px;
    left: -19px;
    width: 12px;
    height: 59%;
    background-color: #fff;
    z-index: 1;
}

.single_day_itinerary .jet-listing-dynamic-repeater__items{
	flex-direction: column;
}


/* gallery slider */

.__gallery_slider img{
	height: 300px;
	object-fit: cover;
}

/* read more read less text */

/* .text-content {
  overflow: hidden;
  transition: max-height 1s ease;
}
.read-toggle {
  background: none;
  border: none;
  text-decoration: underline;
  cursor: pointer;
  padding: 0;
  font: inherit;
  text-underline-offset: 4px;
	color: #BC0A0A;
	margin-top: 15px;
} */

.more-text { display: none; }
.read-toggle {
background: none;
  border: none;
  text-decoration: underline;
  cursor: pointer;
  padding: 0;
  font: inherit;
  text-underline-offset: 4px;
	color: #BC0A0A;
	margin-top: 15px;
}


/* accordion */
  /* Scope all styles under .unique-accordion to prevent conflicts */
  .unique-accordion,
  .unique-accordion * {
    box-sizing: border-box;
  }
  .unique-accordion__item {
	border: 2px solid #ccc;
  }
  .unique-accordion__item + .unique-accordion__item {
    margin-top: 1px;
  }
  .unique-accordion__header {
    width: 100%;
    background: #fff;
    border: none;
    padding: 1rem;
    font-size: 22px;
    color: #111;
    font-weight: 600;
    text-align: left;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    cursor: pointer;
    position: relative;
    gap: 5px;
  }
  .unique-accordion__header::after {
    content: '+';
    font-size: 20px;
    transition: transform 0.3s ease;
    background: #EDF2F7;
    padding: 0px 7px;
    border-radius: 30px;
    font-weight: 100;
  }
  .unique-accordion__header.active::after {
    transform: rotate(45deg);
	  background: #111;
	  color: #fff;
  }
  .unique-accordion__content {
    max-height: 0;
    overflow: hidden;
    background: #fff;
    transition: max-height 0.4s ease;
  }
  .unique-accordion__content  {
    padding: 0 1rem;
	  
  }
/* .unique-accordion__content img{
	width: 30px;
    height: auto;
    margin-right: 7px;
    margin-bottom: -10px;
    overflow: hidden;
}
.unique-accordion__content h4 {
    border-top: 1px solid #ccc;
    padding-top: 15px;
    font-size: 16px;
} */
.unique-accordion__content strong {
    font-weight: 600;
	  
  }

.unique-accordion__content p, .unique-accordion__header{
	font-family: Manrope, sans-serif !important;
}


.no_jet .jet-listing-dynamic-repeater__item>:not(td):not(.jet-engine-gallery-grid) {
    display: flex
;
    align-items: flex-start;
    flex-direction: column;
	margin: 10px 0;
}


:where(.wp-site-blocks *:focus) {
    outline-width: 0 !important;
    outline-style: solid;
}


/* tour grid */
.tour_grid .wp-container-core-columns-is-layout-dfc7c0d8 {
    
    gap: 1px;
}
.tour_grid .jet-listing-dynamic-field__content {
    
    font-size: 13px;
	font-weight: 400;

}



















 /* === Carousel Styles === */
    .carousel {
      position: relative;
      overflow: hidden;
      max-width: 1240px;
      margin: 20px auto;
    }
    .carousel-track {
      display: flex; /* flex container for single‑row layout */ :contentReference[oaicite:3]{index=3}
      transition: transform 0.5s ease-in-out;
    }
    .flex_gallery .jet-listing-dynamic-repeater__item {
      flex: 0 0 calc(100%/3) !important; /* desktop: 3 slides */ :contentReference[oaicite:4]{index=4}
      box-sizing: border-box;
      padding: 0 8px;
    }
    .carousel-slide img {
      width: 100%;
      height: 100%;
      display: block;
      border-radius: 4px;
      cursor: pointer;
		object-fit: cover;
    }

.carousel-slide{
	height: 250px;
	width: 100%;
}
.flex_gallery .jet-listing-dynamic-repeater__item{
	display: flex;
	height: 250px;
}
    /* Tablet: 2 slides */
    @media (max-width: 1024px) {
       .flex_gallery .jet-listing-dynamic-repeater__item { flex: 0 0 calc(100%/2) !important; } /* 2 slides */ :contentReference[oaicite:5]{index=5}
    }
    /* Mobile: 1 slide */
    @media (max-width: 768px) {
      .flex_gallery .jet-listing-dynamic-repeater__item { flex: 0 0 100% !important; } /* 1 slide */ :contentReference[oaicite:6]{index=6}
    }
    .carousel-btn {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: none;
      border: none;
      font-size: 2rem;
      color: #333;
      cursor: pointer;
      z-index: 10;
      padding: 0 12px;
      user-select: none;
    }
    .carousel-btn.prev { left: 0; }
    .carousel-btn.next { right: 0; }

    /* === Lightbox Modal + Slideshow Styles === */
    .modal {
      display: none;               /* hidden by default */
      position: fixed;
      inset: 0;
      background: rgba(0,0,0,0.9);
      z-index: 1000;
      overflow: auto;
    }
    .modal.open { display: block; }
    .modal-content {
      position: relative;
      margin: 60px auto;
      max-width: 1000px;
    }
    .mySlides {
      display: none;               /* hide all slides */ :contentReference[oaicite:7]{index=7}
    }
    .mySlides img {
      width: 100%;
      height: auto;
      display: block;
    }
    .caption {
      color: #fff;
      text-align: center;
      padding: 8px 0;
    }
    .close {
      position: absolute;
      top: 16px; right: 24px;
      color: #fff;
      font-size: 2.5rem;
      cursor: pointer;
    }
    .prev, .next {
      cursor: pointer;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      color: #fff;
      font-size: 2rem;
      padding: 12px;
      user-select: none;
    }
.modal-content .prev,
.modal-content .next{
	position: fixed !important;
}
    .prev { left: 0; }
    .next { right: 0; }

.lightbox__ .jet-listing-dynamic-repeater__item>*:not(td):not(.jet-engine-gallery-grid){
	display: flex;
    align-items: center;
    justify-content: center;
}

.carousel-track {
  cursor: grab;
}
.carousel-track:active {
  cursor: grabbing;
}
 /* === Carousel Styles === */
.wc-block-components-order-summary-item__total-price,
.wc-block-components-product-name,
.wc-block-components-order-summary-item__individual-prices.price.wc-block-components-product-price{
	display: none!important;
}

.map_image img{
	width: 100%;
	height: auto;
}











.carousel-slide {

    position: relative;
}


.carousel-slide p {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;

  /* center text with flexbox */
  display: flex;
  align-items: center;
  justify-content: center;

  /* semi‐transparent background for full overlay */
  background: rgba(0, 0, 0, 0.5);

  /* text styling */
  color: white;
  
  font-weight: 500;

  /* start hidden */
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none; /* so the hover still works on the parent */
	border-radius:4px;
}

.carousel-slide:hover p {
  opacity: 1 !important;
	border-radius:4px;
}
.carousel-slide p span {
  padding: 20px;
	text-align: center;
  
}
.g_title_modal{
	color: #fff;
	font-size: 22px;
	font-weight: 600;
	margin: 14px 0;
}
.g_des_modal{
	color: #fff;
	font-size: 16px;
	margin: 0;
}

.tour_featured_image img{
	height: 500px;
	width: auto;
	object-fit: cover;
}
@media (max-width: 768px){
.tour_featured_image img{
	height: 250px;
	width: auto;
	object-fit: cover;
}	
}




/*******GLOBAL STRUCTURAL LAYOUT woocommerce checkout*******/
.woocommerce-account .wp-block-post-title, .woocommerce-account main .woocommerce, .woocommerce-cart .wp-block-post-title, .woocommerce-cart main .woocommerce, .woocommerce-checkout .wp-block-post-title, .woocommerce-checkout main .woocommerce {
    max-width: 100%;
}

.woocommerce {
    display: flex;
    flex-direction: column;
}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 1.6em;
}

/* WooCommerce Layout Structure */
@media (min-width: 980px) {
    /* Billing Details Side */
    .woocommerce-checkout .woocommerce .col2-set,
    .woocommerce-checkout .woocommerce-page .col2-set {
        float: left;
        width: 53.9%;
    }
    /* Order Review Side */
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout .woocommerce #order_review,
    .woocommerce-checkout .woocommerce-page #order_review {
        float: left;
        width: 35%;
        margin-left: 2%;
    }
}

@media (max-width: 979px) {
    /* Billing Details Margin */
    .woocommerce-checkout .woocommerce .col2-set,
    .woocommerce-checkout .woocommerce-page .col2-set {
        margin-bottom: 2em;
    }
}
@media (max-width: 600px){
	.woocommerce .col2-set, .woocommerce-page .col2-set {
    width: auto !important;
}
}

/*******LEFT SIDE DESIGN*******/

/* Form Container Styles */
.woocommerce-checkout .woocommerce .col2-set,
.woocommerce-checkout .woocommerce-page .col2-set {
    background: white;
    padding: 1em 2em;
    border-radius: 1em;
    border: 1px solid #e4e4e4;
}

.woocommerce .col2-set .col-1,
.woocommerce-page .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2 {
    float: left;
	width: 100%;
   
}


/* Form Field Title Styles */
.custom_checkout label,
.custom_checkout input,
.custom_checkout button,
.custom_checkout select,
.custom_checkout textarea {
    font-size: 12px;
    line-height: 1.7;
    text-transform: uppercase !important;
    font-weight: 500;
    color: var(--text-color);
    margin-bottom: 0.5em;
}

/* Form Field Styles */
.custom_checkout input.text,
.custom_checkout input.title,
.custom_checkout input[type=email],
.custom_checkout input[type=password],
.custom_checkout input[type=tel],
.custom_checkout input[type=text],
.custom_checkout select,
.custom_checkout textarea {
    border: 1px solid #d9d9d9;
    border-radius: 5px;
    background-color: white;
    height: 4em;
}

.woocommerce-account form .form-row,
.woocommerce-checkout form .form-row {
    margin-bottom: 1em;
}

/* Form Field Dropdown Styles */
.select2-container--default .select2-selection--single {
    background-color: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 5px;
    height: 4em;
}

.select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 4em;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
    position: absolute;
    top: 1px;
    right: 5px;
    width: 25px;
}

.woocommerce-account form .payment_methods label,
.woocommerce-checkout form .payment_methods label {
    padding-left: 0px;
}

/* Form Field Focus Color Style */
.custom_checkout textarea:focus,
.custom_checkout input[type=text]:focus,
.custom_checkout input[type=password]:focus,
.custom_checkout input[type=datetime]:focus,
.custom_checkout input[type=datetime-local]:focus,
.custom_checkout input[type=date]:focus,
.custom_checkout input[type=month]:focus,
.custom_checkout input[type=time]:focus,
.custom_checkout input[type=week]:focus,
.custom_checkout input[type=number]:focus,
.custom_checkout input[type=email]:focus,
.custom_checkout input[type=url]:focus,
.custom_checkout input[type=search]:focus,
.custom_checkout input[type=tel]:focus,
.custom_checkout nput[type=color]:focus,
.custom_checkout .uneditable-input:focus {
    border-color: var(--primary-color) !important;
    box-shadow: none;
    outline: 0;
}

.custom_checkout .radio input[type=radio],
.custom_checkout .checkbox input[type=checkbox] {
    top: 0px;
}

/*******RIGHT SIDE DESIGN*******/

/* Order Review Headline Removal */
h3#order_review_heading {
    display: none; /*Remove This if You Want The Order Review Heading*/
}

/* Order Review Container Styles */
div#order_review {
    background: white;
    padding: 1em;
    border-radius: 1em;
   
    position: sticky; /*Remove This if You Don't Want Order Review To Be Sticky*/
    top: 100px; /*Remove This if You Don't Want Order Review To Be Sticky*/
	border: 1px solid #e4e4e4;
}
/*Order Review Order*/

div#order_review {
    display: flex;
    flex-direction: column; /*Change this to column-reverse to reverse the order*/
}

/*Hide Cart Contents and Only Show Total + Shipping*/

.woocommerce-checkout-review-order tbody {
  display: table-row-group; /*Set to "none" if you'd like to hide */
}

/* Remove Product and Subtotal Headlines */
table.shop_table.woocommerce-checkout-review-order-table thead {
    display: none; /*Remove This if You Want Headlines*/
}

table.shop_table.woocommerce-checkout-review-order-table {
    color: var(--text-color);
    text-transform: Capitalize;
    font-size: 14px; /*Adjust This To Adjust Order Review Font Size*/
}

.woocommerce table.shop_table {
  border: none;
}

/* Target every other cart item and set background color */
.custom_checkout tr.cart_item:nth-child(odd) {
    background-color: #f7f8fa !important;
}

.custom_checkout tr.cart_item:nth-child(even) {
    background-color: white !important;
}

.custom_checkout span.woocommerce-Price-amount.amount {
    font-weight: bold;
}


.custom_checkout strong.product-quantity {
    background: var(--primary-color-light);
    padding: 0.1em 0.5em;
    border-radius: 0.5em;
    font-size: 12px;
}

.woocommerce td.product-name .wc-item-meta p,
.woocommerce td.product-name .wc-item-meta:last-child,
.woocommerce td.product-name dl.variation p,
.woocommerce td.product-name dl.variation:last-child {
    margin-bottom: 0;
    text-transform: capitalize;
    font-size: 12px;
    font-weight: normal;
  	color: var(--text-color);
}

.custom_checkout td.product-name {
    width: 100%;
    font-weight: bold;
}

.custom_checkout td.product-total {
    justify-content: flex-start;
    display: flex;
}

.custom_checkout table th,
.custom_checkout table td {
    border: none !important;
}

.custom_checkout tr.cart-subtotal {
    display: none; /*Remove this if you'd like to display the subtotal*/
}

.custom_checkout tr.woocommerce-shipping-totals.shipping {
    display: flex;
    margin-top: 2em;
    margin-bottom: 2em;
    border-top: 1px solid var(--primary-color-light);
    border-bottom: 1px solid var(--primary-color-light);
    flex-direction: column;
    align-content: stretch;
    align-items: flex-start;
}

.woocommerce ul#shipping_method li input {
    margin: 5px 5px 0 0;
    vertical-align: top;
}

/* Order Total Line Item Styles */
tr.order-total {
    color: var(--primary-color);
    background-color: var(--primary-color-light);
}

#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
    background: var(--background-color);
    border-radius: 5px;
}

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
    background-color: var(----primary-color);
    color: black;
}

#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
    display: none;
}

/* Stripe Form Field Styles */
.wc-stripe-elements-field,
.wc-stripe-iban-element-field {
    border: 1px solid #d9d9d9;
    border-radius: 5px;
    background-color: #fff;
    padding: 15px;
}

input#wc-stripe-new-payment-method {
    margin-right: 1em;
}

fieldset#wc-authnet-cc-form .input-text {
    height: 2em;
}

/* Place Order Button Styles */
#place_order {
    width: 100%;
    color: #fff;
    border: none;
    box-shadow: rgba(0, 0, 0, 0.28) 0px 2px 8px 0px;
   
    background: #BC0A0A; /* Change This to Change Button Color */
}

#place_order:hover {
    color: rgba(255, 255, 255, 0.5);
}

/*******COUPON & ALERT STYLES*******/

.woocommerce-info,
.woocommerce-message {
    background-color: var(--background-color);
    color: var(--text-color);
    border: none;
}

.checkout_coupon p.form-row.form-row-last {
    float: none;
}

.checkout_coupon button.button {
    background-color: var(--primary-color);
    color: white;
}

/* Coupon Icon */
.woocommerce-info::before,
.woocommerce-error::before {
    display: none;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    padding: 1em;
}

form.checkout_coupon.woocommerce-form-coupon {
    padding: 3em;
    background: white;
    border-radius: 1em;
    margin-top: 0em;
    margin-bottom: 2em;
}

/* Error Alert */
.woocommerce-error {
    background-color: #ff7e7e;
    border: none;
    color: #761f1f;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    text-shadow: none;
}
.woocommerce-additional-fields{
	display:none !important;
}
.woocommerce-privacy-policy-text p{
	font-size: 12px;
}
.woocommerce-page table.shop_table{
	width: 100% !important;
}
.shop_table dd p{
	margin: 0 !important;
}
.shop_table dt, .shop_table p{
	text-transform: none !important;
}
#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box

 {
  
    padding: 0 !important;
   
}
.custom_checkout label, .custom_checkout input, .custom_checkout button, .custom_checkout select, .custom_checkout textarea {
   
    text-transform: none !important;
  
}







.woocommerce-terms-and-conditions p, .woocommerce-terms-and-conditions li, .woocommerce-terms-and-conditions a{
	font-size: 12px;
}
.woocommerce-terms-and-conditions h2{
	font-size: 20px;
}
.woocommerce-terms-and-conditions h3{
	font-size: 18px;
}



:where(.wp-site-blocks) > *

 {
    margin-block-start: 0 !important;
   
}

.kb-section-is-sticky{
	position: sticky !important;
	top: 0 !important;
}

/* blog item bg */
.blog_items_bg .wp-block-post{
	background: #EDF2F7;
}











/* destination page slider css */
/* Namespaced to avoid theme/JetEngine collisions */
.je-slider {
  position: relative;
  width: 100%;
 height: 90dvh;            /* Adjust slider height as you like */
  overflow: hidden;
}

.je-track {
  display: flex;
  height: 100%;
  transition: transform 0.5s ease;
  will-change: transform;
}

/* Each slide = any direct child JetEngine inserts inside .je-track */
.je-track > * {
  flex: 0 0 100%;
  height: 100%;
  position: relative;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.je-content-wrapper{
	max-width: var(--wp--style--global--wide-size);
	margin: auto;
	z-index: 99;
}
/* Title + Description overlay */
.je-content {
 
  max-width: min(70ch, 60%);
  padding: 16px 18px;
  color: #fff;
  background: rgba(0,0,0,.45);          /* translucent */
  backdrop-filter: blur(4px);            /* subtle glass effect */
  -webkit-backdrop-filter: blur(4px);
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

.je-content h2 {
  margin: 0 0 .4em;
  font-size: clamp(1.4rem, 2.8vw, 2.4rem);
  line-height: 1.15;
  letter-spacing: .2px;
}

.je-content p {
  margin: 0;
  font-size: clamp(.95rem, 1.4vw, 1.1rem);
  line-height: 1.45;
  opacity: .95;
}

/* Arrows */
.je-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border: none;
  border-radius: 50%;
  background: rgba(0,0,0,.5);
  color: #fff;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  z-index: 5;
  transition: background .2s ease, transform .2s ease;
}
.je-arrow:hover { background: rgba(0,0,0,.7); transform: translateY(-50%) scale(1.05); }
.je-prev { left: 14px; }
.je-next { right: 14px; }

/* Responsiveness */
@media (max-width: 900px) {
  .je-slider { height: 420px; }
  .je-content { max-width: 75%; padding: 14px 16px; margin: auto; }
}
@media (max-width: 600px) {
  .je-slider { height: 300px; }
  .je-content { max-width: 88%; padding: 12px 14px; margin: auto; }
  .je-arrow { width: 38px; height: 38px; font-size: 20px; }
	
	
	
}

.bg_block{
	height: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.cus_h2 h2{
	
font-size: var(--global-kb-font-size-xl, 3rem);
	margin: 20px 0;
	

}
.cus_h2 h1{
font-size: var(--global-kb-font-size-xxl, 4rem);
}

.text_center .jet-listing-dynamic-field{
	justify-content: center; 
}

.bg_block {
  position: relative;
 
  overflow: hidden; /* keeps overlay inside */
}

.bg_overlay {
  position: absolute;
  inset: 0; /* shorthand for top:0; right:0; bottom:0; left:0 */
  background: linear-gradient(0deg, rgba(0,0,0,.55), rgba(0,0,0,.25));
  z-index: 1;
}
.text_center h1, .text_center h2{
	text-align: center;
}

@media (min-width: 1025px) {
  .hide_desktop {
    display: none;
  }
}

.img_height_500 img{
	height: 500px;
	object-fit: cover;
}



.wp-block-navigation__submenu-container{
	width: 205px !important;
}

.display-none{
	display: none !important;
}

.object-fit-cover img{
	object-fit: cover !important;
}