/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
body summary.e-n-accordion-item-title {
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 24px !important;
}
body {
  counter-reset: section;
}
.e-n-accordion-item-title .e-n-accordion-item-title-header::before {
    counter-increment: section;
    content: "0" counter(section) ". ";
    font-size: 16px;
    color: #EE1B24;
    letter-spacing: -0.16px;
	padding-right:24px;
}
.e-n-accordion-item {
/*     padding-bottom: 24px; */
    border-bottom: 1px rgba(255, 255, 255, 0.2) solid;
}
.e-n-accordion-item:last-child{
    border-bottom: 0px rgba(255, 255, 255, 0.2) solid;
}
#custom-cursor {
  position: fixed;
  width: 269px;
  height: 269px;
  background: rgba(201, 22, 29, 0.5); /* Your red color with 50% opacity */
  border-radius: 50%; /* Makes it circular */
  pointer-events: none; /* Prevents interfering with clicks */
  z-index: 9999; /* Stays on top of everything */
  transform: translate(-50%, -50%); /* Centers on mouse position */
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  opacity: 0; /* Hidden by default */
  transition: opacity 0.2s ease, transform 0.1s ease;
  will-change: transform; /* Optimizes animation */
}

/* Text inside the cursor */
.cursor-text {
  color: white;
  font-family: "Crimson Pro", sans-serif;
  font-size: 24px;
  text-transform: uppercase;
  padding: 0 8px;
  line-height: 110%;
}

/* Area where the custom cursor appears */
.cursor-trigger-area {
  /* Your existing styles */
  min-height: 200px; /* Ensure there's space to hover */
}

/* Elements that trigger the custom cursor */
.hover-target {
  padding: 15px 30px;
  margin: 20px;
  display: inline-block;
  background: #f0f0f0;
  border-radius: 4px;
}


.elementor-button {
    overflow: visible;
    position: relative;
}

.elementor-button-text {
    display: inline-block;
}


.showOnMenuOpen{
	display:none;
}

.hideondesktop a {
    font-weight: 200;
    box-shadow: 0px -1px 11.9px 0px rgba(0, 0, 0, 0.08);
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #FFFFFF;
    background-color: #fff;
    border-radius: 30px !important;
    display: inline-block;
    margin-left: 16px;
	margin-bottom:32px !important;
}
.cardBox, .cardBox *{
    transition:all 0.3s ease-in-out;
}
.cardBox .textOnlyOnHover {
    opacity: 0;
    transform: translateY(10px);
    height: 0;
}
.cardBox:hover .textOnlyOnHover {
    display: block;
    opacity: 1;
    transform: translateY(0px);
        height: max-content;
}
.cardBox .hoverheadingHolder{
	    transform: translateY(10px);

}
.cardBox {
	filter: grayscale(1);
}
.cardBox:hover{
	filter: grayscale(0);

}
.cardBox:hover .hoverheadingHolder{
	    transform: translateY(0px);

}
 .filter-group select{
     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='M18.3646 9.36395L12.0007 15.7279L5.63672 9.36395' stroke='black' stroke-width='0.5' stroke-linecap='square'/%3E%3C/svg%3E%0A");
 }
 .category-filter {
    min-width: 190px;
}

.custom-share-container {
    display: flex;
    align-items: center;
    gap: 16px;
    font-family: serif; /* Matches your image's typography */
}

.share-icons {
    display: flex;
    gap: 20px;
    align-items: center;
}

.share-icons a {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    color: #e31e24;
    padding:0;
    text-decoration: none;
    transition: all 0.3s ease;
}

.share-icons a:hover svg path {
    stroke:#000;
}
.wp-block-heading {
    margin-top: 25px;
}
#copy-success-msg {
    font-size: 12px;
    color: #28a745;
    margin-left: 5px;
}
.tableofContent ul {
    padding: 0;
    margin: 0;
	    list-style: none;

}
.tableofContent ul li a {
    padding: 12px 16px;
	display:block;
	position:relative;
	border-radius:4px;
}
.tableofContent ul li ul{
	padding-left:16px;
}
.tableofContent ul li a.active{
	font-weight:600;
	background-color:#fff;
}
.tableofContent ul li a.active:after{
	content: '';
	height: 10px;
	width:10px;
	background-color: var( --e-global-color-primary );
	position:absolute;
	top:45%;
	right:16px;
	border-radius:50%;
}

.policyContent h3, .policyContent h4,.policyContent h2{
	text-transform:uppercase;
}
.policyContent h3, .policyContent h3 ~ p {
    padding-left: 30px;
}
.policyContent h2 {
    margin-top: 80px;
}
.policyContent h2:nth-child(1){
	margin-top:0;
}
.policyContent h3 {
    margin-top: 40px;
}
.policyContent p{
	margin-top:24px;
}
.policyContent h2 + p {
    padding-left: 0;
}
.plicyPageBanner{
	.elementor-widget-button{
		display:none !important;
	}
	
}
button.wc-bookings-booking-form-button.single_add_to_cart_button {
    background-color: #FFFFFF !important;
    font-family: "Crimson Pro", Sans-serif;
    font-size: 18px;
    font-weight: 200;
    box-shadow: 0px -1px 11.9px 0px rgba(0, 0, 0, 0.08);
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #FFFFFF;
	color:#000 !important;
	    border-radius: 33px !important;
}
body .wc-bookings-booking-form {
    border: 0;
	padding:0;
}
body fieldset.wc-bookings-date-picker.wc-bookings-date-picker-booking {
    border: 0;
	
}
body.woocommerce div.product form.cart {
    flex-direction: column;
}
body .wc-bookings-booking-form fieldset{
	padding:0;
}
p.form-field.form-field-wide.wc_bookings_field_persons {
    display: none;
}
.wc-bookings-date-picker .ui-datepicker td.bookable a {
    background-color: var(--e-global-color-primary) !important;
}
.wc-fancybox-structure {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 20px;
    align-items: flex-start;
}

.wc-thumb-column {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.wc-thumb {
    width: 100%;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.3s ease;
}
.wc-thumb img{
    
}
.wc-thumb.active,
.wc-thumb:hover {
    opacity: 1;
}

.wc-main-image img {
    width: 100%;
    border-radius: 0;
        height: 580px;
    object-fit: cover;
}
img.wc-thumb {
    height: 103px;
    object-fit: cover;
}
.wc-thumb-column a {
    line-height: 0;
}
.wc-thumb-column a:nth-child(5):after {
    content: 'Discover More';
    height: 100%;
    width: 100%;
    background-color: #000000ba;
    position: absolute;
    left: 0;
    color:#fff;
    top:0;
    display:flex;
    align-items:center;
    justify-content:center;
}
.wc-thumb-column a {
    position: relative;
}
.hide {
  display: none !important;
}

.show {
  display: block !important; /* or flex, inline-block, etc. depending on your layout */
}
 button.wc-bookings-booking-form-button.single_add_to_cart_button.button.alt {
    margin-left: 0 !important;
}
.cp-archive-container{
	p{
		margin-bottom:0;
	}
}
.elementor-widget-search .e-search-input-wrapper>i:is(svg), .elementor-widget-search .e-search-input-wrapper>svg:is(svg) {
    right: 35px;
}
.plusBtn:hover svg, .plusBtn:hover path,.minusBtn:hover svg, .minusBtn:hover path {
    fill: var(--e-global-color-primary);
    cursor: pointer;
    stroke: #fff;
}
.fancybox__container button {
    padding: 0 !important;
    background-color: unset;
    color: #fff;
}
/* Mobile */
@media (max-width: 768px) {
    .wc-fancybox-structure {
        grid-template-columns: 1fr;
		gap:8px;
    }

    .wc-thumb-column {
        flex-direction: row;
        order: 2;
        overflow-x: auto;
    }
	.wc-thumb-column a img {
            min-width: 100px;
        min-height: 100px;
        object-fit: cover;
}
body .wc-thumb-column {
    flex-direction: row;
    align-items: flex-start;
    height: unset;
	gap:8px;
}
}

@media(min-width:768px){
	.hideondesktop {
		display:none !important;
	}
	.tableofContent {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: scroll;
}
}
@media(max-width:767.9px){
	.menuOpen {
    background-color: #fbf7f2;
}
.elementor-nav-menu__container {
    padding-top: 16px;
    margin-top: 24px !important;
    border-top: 1px #eee solid;
}
.tableofContent {
        background-color: #fff;
    }
	body .policyContent h2 {
    margin-top: 40px;
}
	body .policyContent h2{
		    font-size: 28px;

	}
	body .policyContent h3 {
    font-size: 24px;
}
	body .policyContent h3, body .policyContent h3 ~ p {
    padding-left: 24px;
}
	body .policyContent h2 + p {
    padding-left: 0;
}
}
/* --- LAYOUT & BASE --- */
span.subHeading {
    display: flex;
    align-items: center;
    gap: 12px;
}
.headingBox h2 {
    font-size: 40px;
    line-height: 100%;
    text-transform: uppercase;
	margin-top:42px;
	    max-width: 480px;
	margin-bottom:16px;
	letter-spacing: -1.6px;
}
.headingBox p{
	color: rgba(0, 0, 0, 0.8);
		    max-width: 520px;

}
.topAsideBar {
    flex: 0 0 100%;
}
.headingwithSort {
    display: flex;
    justify-content: space-between;
	margin-bottom:80px;
	flex-wrap:wrap;
}
.hideTagsContainer {
    display: flex;
    gap: 111px;
}
.cp-sidebar-header {
    flex: 0 0 220px;
}
        .cp-archive-container { display: flex; column-gap: 89px;; margin-top: 20px; flex-wrap:wrap; }
        aside.cp-sidebar {
    flex: 0 0 220px;
}
        .cp-grid-area {         flex: 0 0 calc(100% - 353px);
 position: relative; }
        .cp-products-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; min-height: 300px; margin-top:16px; }
        .cp-filter-form { width: 100%; }
        .cp-mobile-trigger { display: none; padding: 15px 0; }
        .cp-mobile-trigger .btn-orange {
    box-shadow: 0px -1px 11.9px 0px rgba(0, 0, 0, 0.08);
    border-radius: 33px;
    border: 0;
    padding: 12px 24px;
    font-size: 18px;
    line-height: 110%;
    text-transform: uppercase;
			display:flex;
			gap:16px;
}

        /* Product count and sort area */
        .sortWithNumber { display: flex; gap:20px; align-items: center; margin-bottom: 20px;   }
        .numberOfPOst { font-size: 16px; font-weight: 500; display:none; }

        /* --- DESKTOP ACCORDION/PRICE --- */
        .cp-sidebar-header { padding-bottom: 24px; border-bottom: 1px solid #eee; display: flex; justify-content:space-between; }
        .cp-sidebar-header a { color: #000; text-decoration: none; font-size: 18px; text-transform:uppercase; align-items:center; display:flex; gap:20px; }
        .cp-filter-group { margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid #D9D9D9; }
.searchPopUp{
	cursor:pointer;
}
.cp-filter-title {
    font-weight: 200;
    font-size: 18px;
    line-height: 110%;
    margin-top: 24px;
    display: flex;
    justify-content: space-between;
    cursor: pointer;
    text-transform: uppercase;
    margin-bottom: 10px;
}
i.fas.fa-angle-down svg.closeBox {
    display: none;
}
i.fas.fa-angle-up  svg.openBox{
	    display: none;

}
.mobile-filter-footer {
    display: none;
}
.sort-selector {
    display: flex;
    white-space: nowrap;
    align-items: center;
    gap: 10px;
	    text-transform: uppercase;
}
.sort-selector select{
	box-shadow: 0px -1px 11.9px 0px rgba(0, 0, 0, 0.08);
	border-radius:33px;
	border:0;
	padding:12px 24px;
	font-size:18px;
	line-height:110%;
	text-transform:uppercase;
	appearance: none;
	background-image: url('data:image/svg+xml,<svg width="14" height="8" viewBox="0 0 14 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.0814 0.353577L6.71748 6.71754L0.353516 0.353577" stroke="black" stroke-width="0.5" stroke-linecap="square"/></svg>');
	background-repeat: no-repeat;
	background-position: calc(100% - 24px);
	padding-right: 52px;
	font-weight:200;
}
.cp-filter-group .ui-state-default,.cp-filter-group  .ui-widget-content .ui-state-default,.cp-filter-group  .ui-widget-header .ui-state-default,.cp-filter-group  .ui-button, html .cp-filter-group  .ui-button.ui-state-disabled:hover, html .cp-filter-group  .ui-button.ui-state-disabled:active {
    border-color: rgba(238, 27, 36, 1);
    background: #fff;
    border-radius: 50%;
    height:14px;
    width:14px;
        top: -6px;
}
.cp-filter-group .ui-widget.ui-widget-content {
    height: 2px;
    border: 0;
    background-color: #bdbdbd;
    max-width: calc(100% - 20px);
    margin: 0 auto;
	margin-top:15px;
}
.cp-filter-group .ui-slider .ui-slider-range {
    height: 2px;
    background-color: rgba(238, 27, 36, 1);
}
        .cp-filter-title i { transition: transform 0.2s; color: #ff6600; }
        .cp-filter-content { max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out;  }
        .cp-filter-content.active { max-height: max-content; transition: max-height 0.5s ease-in; }
        .cp-filter-content.active .cp-filter-title i { transform: rotate(180deg); }
        .cp-reset-link { color: #ff6600; font-size: 12px; margin-top: 5px; display: block; }
        
        /* Price Inputs */
        .cp-price-inputs { display: flex; gap: 16px; margin-top: 20px; width:unset; }
        .cp-price-inputs label { position: relative; display: flex; align-items: center; width: 50%; }
        .cp-price-inputs .currency-symbol { position: absolute; left: 16px; color: #2C2C2C; }
        .cp-price-inputs input[type="text"], .cp-price-inputs input[type="number"] {
    width: 107px;
    padding: 8px 10px;
    border-radius: 244px !important;
    text-align: left;
    padding-right: 10px;
    padding-left: 40px !important;
    height: 36px;
    border: 1px rgba(0, 0, 0, 0.4) solid !important;
    color: rgb(0 0 0 / 40%) !important;
    font-weight: 200;
			background-color:transparent;
			margin-left:0;
}
.cp-price-inputs{
	gap:8px;
}
        /* Stock/Brand/Category Lists */
        .cp-filter-group label { display: flex; align-items: center; margin-bottom: 12px; font-size: 14px; }
       .cp-filter-group input {
    margin-right: 10px;
    accent-color: #EE1B24;
    height: 18px;
    width: 18px;
    border-radius: 3px !important;
}
.cp-filter-content input[type="checkbox"] ~ span,.cp-filter-content input[type="radio"] ~ span{
        color: rgba(0, 0, 0, 0.8);
    font-weight: 300;
	line-height:140%;
	font-size:16px;
	letter-spacing:-0.16px;
}
.cp-filter-content input[type="checkbox"]:checked ~ span,.cp-filter-content input[type="radio"]:checked ~ span{
    color:rgba(0, 0, 0, 1);
}
body a.cp-reset-link {
    color: #000;
    text-decoration: underline;
    font-size: 18px;
    margin-top: 20px;
    text-transform: uppercase;
    font-weight: 200;
}
        /* Color Swatches */
        .cp-color-swatches { display: flex; gap: 10px; margin-top: 10px; }
        .cp-color-swatches label { width: 25px; height: 25px; border-radius: 50%; border: 1px solid #ccc; cursor: pointer; transition: all 0.2s; }
        .cp-color-swatches input[type="radio"] { display: none; }
        .cp-color-swatches input[type="radio"]:checked + label { border: 3px solid #ff6600; transform: scale(1.1); }
        
        /* Active Tags */
        .cp-active-filters { display: flex; gap: 16px;  flex-wrap: wrap; align-items: center; }
     .cp-tag {
    background: transparent;
    padding: 16px 24px;
    border-radius: 33px;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 0;
    border: 1px rgba(98, 98, 98, 0.2) solid;
		 font-size:16px;
		 letter-spacing:-0.16px;
		 color:rgba(44, 44, 44, 1);
		 
}
.cp-tag span{
	font-size:14px;
	text-transform:uppercase;
}
        .cp-tag .tag-label { font-weight: 500; }
        .cp-tag .tag-remove { font-weight: bold; color: #ff6600; cursor: pointer; }
        .cp-clear-all {
    color: rgba(0, 0, 0, 1);
    font-weight: 200;
    cursor: pointer;
    font-size: 18px;
    text-decoration: underline;
    text-transform: uppercase;
}

        /* Loader */
        .cp-loading-overlay {
            position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(255, 255, 255, 0.7); 
            z-index: 10; display: none; justify-content: center; align-items: center; border-radius: 8px;
        }
        .cp-loader {
            border: 4px solid #f3f3f3; border-top: 4px solid #ff6600; border-radius: 50%; 
            width: 40px; height: 40px; animation: spin 1s linear infinite;
        }
        @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
        
        /* Initial Load Skeleton */
        .cp-skeleton-grid { 
            display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
        }
        .cp-skeleton-card {
            background: #f5f5f5; border-radius: 8px; overflow: hidden;
            animation: pulse 1.5s ease-in-out infinite;
        }
        .cp-skeleton-image {
            height: 200px; background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
            background-size: 200% 100%; animation: shimmer 1.5s infinite;
        }
        .cp-skeleton-content { padding: 15px; }
        .cp-skeleton-line {
            height: 12px; background: #e0e0e0; border-radius: 4px; margin-bottom: 10px;
        }
        .cp-skeleton-line.short { width: 60%; }
        .cp-skeleton-line.medium { width: 80%; }
        .cp-skeleton-line.long { width: 100%; }
        
        @keyframes pulse {
            0%, 100% { opacity: 1; }
            50% { opacity: 0.5; }
        }
        
        @keyframes shimmer {
            0% { background-position: -200% 0; }
            100% { background-position: 200% 0; }
        }
        
        /* Pagination */
        .pagination-wrapper { display: flex; justify-content: center; gap: 5px; margin-top: 30px; }
        .pagination-wrapper a, .pagination-wrapper span { padding: 8px 15px; border: 1px solid #ddd; border-radius: 4px; text-decoration: none; }
        .pagination-wrapper span.current { background: #ff6600; color: white; border-color: #ff6600; }
        .pagination-wrapper a:hover { background: #f5f5f5; }
        .mobileOnly {
    display: none;
}
.sortBoxInc {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
a.japBtn {
    text-align: right;
    font-family: "Kaisei HarunoUmi", Sans-serif;
    font-size: 18px;
    font-weight: 300;
    fill: #2C2C2C66;
    color: #2C2C2C66;
}
.wc-bookings-booking-form select, select.wc-pao-addon-select {
    border: 1px #00000030 solid !important;
    background-color: transparent !important;
    border-radius: 33px !important;
    text-transform: uppercase !important;
    font-family: 'Crimson Pro' !important;
    font-weight: 200 !important;
}
p.wc_bookings_field_resource,.wc-pao-addon-container {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    flex-direction:column; 
    
}
p.wc_bookings_field_resource label,.wc-pao-addon-container label{
	white-space:wrap;
}
div{
	.wc-pao-addon label.wc-pao-addon-name, .wc-pao-addon legend.wc-pao-addon-name {
    font-weight: 300;
}
}
.picker.hasDatepicker * {
    font-family: 'Crimson Pro';
    font-size: 16px;
}
.wc-thumb-column {
    display: flex;
    flex-direction: column;
    gap: 16px;
    height: 580px;
    overflow: hidden;
}
.descriptionBox .e-n-accordion-item-title .e-n-accordion-item-title-header::before{
	display:none;
}
.descriptionBox  .e-n-accordion-item{
	border-bottom:1px #00000033 solid;
}
.pagination-wrapper:empty {
    display: none;
}
.wc-pao-addon-wrap > div {
    display: flex;
    gap: 5px;
    align-items: center;
	input[type="checkbox"]{
		    margin-right: 10px;
    accent-color: #EE1B24;
    height: 18px;
    width: 18px;
    border-radius: 3px !important;
	}
}
.japanSvg,.japBtn{
	opacity:0;
}
.archive.tax-country.term-japan .japanSvg,.archive.tax-country.term-japan .japBtn{
	opacity:1;
}
.elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-prev:hover svg,.elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-next:hover svg,.elementor-swiper-button.elementor-swiper-button-next:hover svg,.elementor-swiper-button.elementor-swiper-button-prev:hover svg{
	fill: var(--e-global-color-primary) !important;
}
.elementor-swiper-button.elementor-swiper-button-prev:hover svg path,.elementor-swiper-button.elementor-swiper-button-next:hover svg path{
	stroke: #fff;
}
.gallerySec .swiper-slide {
    filter: brightness(0.5);
}
.gallerySec .swiper-slide.swiper-slide-active{
	    filter: brightness(1);
}
.headingBox {
    max-width: 528px;
}
a.button.wc-backward {
    background-color: #FFFFFF;
    font-family: "Crimson Pro", Sans-serif;
    font-size: 18px;
    font-weight: 300;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #FFFFFF;
    padding: 16px 16px 16px 16px;
    text-transform: uppercase;
    border-radius: 33px;
}
img.flex-active {
    border: 1px #00000066 solid;
}
ol.flex-control-nav.flex-control-thumbs {
    margin-top: 20px !important;
    display: flex;
    gap: 16px;
}
.wc-bookings-booking-form .wc-bookings-booking-cost{
	margin:0;
}
.highlighted svg,.elementor-item-active svg {
    fill: #fff;
}
        /* --- MOBILE SLIDING NAVIGATION OVERHAUL --- */
        @media (max-width: 768px) {
			a.japBtn{
				display:none;
			}
            .cp-archive-container { display: block; }
            .cp-products-grid { grid-template-columns: 1fr; }
            .cp-sidebar { display: none; }
            .cp-mobile-trigger { display: block; }
            .cp-skeleton-grid { grid-template-columns: 1fr; }
            .sortWithNumber { gap: 15px; margin-top:7px;  }
            
            /* Full Screen Modal */
            .cp-mobile-modal {
                position: fixed; top: 0; right: 0; width: 80%; height: 100%; background: #fff; z-index: 9999;
                transform: translateX(100%); transition: transform 0.3s ease-out;
                display: flex; flex-direction: column;
            }
            .cp-mobile-modal.active { transform: translateX(0); }
            
            /* Modal Header */
            .modal-header { padding: 15px 20px; padding-top:31px; display: flex; justify-content: space-between; align-items: center; position: relative; gap:20px; }
            .modal-header h3 { margin: 0; font-size: 22px; font-weight: 500; text-align: left; flex-grow: 1;  }
            .modal-header .close-btn {
        font-size: 24px;
        cursor: pointer;
        color: #555;
        position: absolute;
        height: 44px;
        width: 44px;
        box-shadow: 0px 0px 6.2px 0px rgba(0, 0, 0, 0.1);
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        right: 20px;
        top: 20px;
    }

            
            .header-back-area{
                display:flex;
                gap:20px;
                align-items:center;
            }
            .back-btn { font-size: 18px; cursor: pointer; color: #555; font-weight: bold; }

            /* Swiper Container */
            .modal-content { overflow: hidden; padding: 0; flex-grow: 1; }
            .modal-swiper {
                display: flex; width: 100%; transition: transform 0.3s ease-in-out; height: 100%;
            }
            
            /* Individual Panels */
            .mobile-filter-panel {
                width: 100%; flex-shrink: 0; height: 100%; box-sizing: border-box; 
                overflow-y: auto; padding: 0;
            }
.sort-by-area {
    display: flex;
    gap: 30px;
    align-items:center;
    label{
        flex:0 0 calc(30% - 15px);
        color:#000 !important;
        font-weight:500;
    }
    select{
        flex:0 0 calc(70% - 15px);
        height: 48px;
    padding: 10px;
    padding-left:20px;
    font-size: 16px;
    border: 1px rgba(252, 104, 35, 1) solid;
    border-radius: 8px;
    appearance: none;
    background:url('data:image/svg+xml,<svg width="15" height="9" viewBox="0 0 15 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.7885 1.06067L7.42451 7.42463L1.06055 1.06067" stroke="black" stroke-width="1.5" stroke-linecap="square"/></svg>');
    background-repeat:no-repeat;
    background-size: 9px;
        background-position: calc(100% - 29px) 54%;
color:#000;
min-width:150px;
    }
			}
	.headingwithSort{
		flex-wrap:wrap;
		margin-bottom:20px;
		justify-content:flex-start;
	}
			.sort-selector label {
    display: none;
}
			.sortBoxInc {
        position: relative;
        top: 8px;
}
			.cp-mobile-trigger {
				
				        padding-right: 24px;
}
			.sort-selector select{
				padding-right:35px;
			}
			.cp-sidebar-header {
    display: none;
}
			.mobile-filter-footer {
    display: flex;
				flex-direction:column;
				gap:12px;
}
			.modal-open:after {
    content: '';
    height: 100vh;
    width: 100%;
    background-color: #00000080;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
}
			.headingBox p br{
				display:none;
			}
			.mobileOnly {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-bottom: 24px;
        border-bottom: 1px #D9D9D9 solid;
}
			.filterMobileHeader {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 200;
}
			.mobile-filter-footer{
				[type=button], [type=submit], button{
				border-color:#EE1B24;
					&:hover{
						background-color:#EE1B24;
					}
			}
			}
			.cp-price-inputs label{
				width:max-content;
			}
			.cp-products-grid{
gap:24px;}
			.wc-thumb-column a:nth-child(5):after{
				display:none;
			}
			.wc-main-image img{
				height:380px;
			}
			.elementor-widget-woocommerce-product-content p:last-child{
				margin-bottom:0;
			}
}
ul.compact-range-list {
    padding-left: 0;
    list-style: none;
    display: flex;
    gap: 10px;
}
span.compact-dates,.tour-dates-universal .tour-multiple-dates {
    font-family: "Crimson Pro", Sans-serif;
    font-size: 16px;
    font-weight: 200;
    text-transform: uppercase;
}
.tour-compact-ranges,.tour-dates-universal{
    display: flex;
    align-items: center;
    gap: 10px;
    padding-left:8px;
}
.tour-compact-ranges:before,.tour-dates-universal:before{
    content: "";
    height: 21px;
    border-color: #00000033;
        border-inline-start-style: solid;
            border-inline-start-width: 1px;
}
.tour-compact-ranges svg,.tour-dates-universal svg{
    height:16px;
    width:16px;
}
input[type="checkbox"] ~ label {
    white-space: normal;
    line-height: 120% !important;
}
span.elementor-button-content-wrapper .elementor-button-text {
    white-space: nowrap;
}
.stickyHeader{
	transition:0.3s ease-in-out;
}
header{
	    z-index: 999999;
    position: relative;
}
.e-loop-item.product.type-product span.elementor-icon-list-text {
    display: flex;
    white-space: nowrap;
}
.headerHolder.stickyHeader{
	position:fixed;
	background-color:#fffbf7;
	    top: -58px !important;
	z-index:999;
	.elementor-menu-toggle svg{
		path{
			fill:#000;
		}
	}
	.hideOnMenuOpen.elementor-widget-image {
		display:none !important;
		
	}
	.showOnMenuOpen.elementor-widget-image {
		display:block !important;
	}
	.elementor-nav-menu{
		> li{
			a{
				color:#000000 !important;
				&:hover{
					color:var(--e-global-color-primary)!important
				}
			}
			ul{
				li{
					a:hover{
						color:#fff !important;
					}
				}
			}
		}
		.sub-arrow{
			svg{
				path{
					fill:#000;
				}
			}
		}
	}
	.announcementBox{

}
}
.enhanced-number-input {
    display: flex;
    margin-top: 8px;
}
.enhanced-number-input input{
    text-align:center;
}