/* Include icons */
@import url('https://cdn-uicons.flaticon.com/uicons-regular-rounded/css/uicons-regular-rounded.css');

#wpadminbar #wp-admin-bar-custom-tour-templater>.ab-item:before { content: "\f464"; top: 2px; }
.nowrap {
	max-width: fit-content !important;
	text-wrap: nowrap;
	white-space: nowrap;
}
.status-col .tourmaster-thumbnail-ribbon {padding: 4px 10px!important;width:auto!important;}
.status-col .tourmaster-tour-info.tourmaster-tour-info-status-text {margin-bottom: 5px;}
.ul-lista { table-layout: fixed; }
.breakdown-tour > div {margin: 0 10px;text-align: center;display: inline-block;}
li.li-lista.breakdown-tour {text-align: right;}
.coordinador-list .title-coordinador {display: block;/* color: #999; *//* font-weight: 600; */}
.tourmaster-tour-info.tourmaster-tour-info-coordinador {display: grid;grid-template-columns: 40px 1fr;grid-gap: 10px;align-items: center;}
.tourmaster-tour-info.tourmaster-tour-info-coordinador .coord-thumb {border-radius: 100%;display: block;width: 40px;height: 40px;}
.tourmaster-tour-info .tourmaster-tour-info-available-slots-text {color: #dd3333;font-weight: 600;}
.coordinador-list .thumb-text {font-weight: 600;}
.modal-coordinador .content-modal {position: fixed;background: #fff;top: calc(50% - 225px);left: calc(50% - 175px);width: 350px;height: 450px;overflow: hidden;border: 1px solid #ccc;border-radius: 8px;padding: 20px;z-index: 1000;}
.modal-coordinador .image-holder-thumb {width: 125px;height: 125px;margin: 0 auto;display: block;margin-bottom: 20px;background-size: cover;border-radius: 100%;}
.traveltour-body .modal-coordinador h4 {font-size: 18px;text-align: center;}
.traveltour-body .modal-coordinador h5 {font-size: 14px;text-align: center;}
.overlay-modal {position: fixed;top: 0;left: 0;right: 0;bottom: 0;background: rgba(0,0,0,0.3);z-index: 1000;height: 100dvh;}
.modal-coordinador { display: none; }
.modal-coordinador.opened-modal { display: block; }
.cross-modal {text-align: right;margin-top: -10px;margin-right: -10px;cursor:pointer;}
.cross-modal span {font-size: 28px;width: 28px;height: 28px;}
.coordinador-opener, .copy-to-clipboard { cursor: pointer;}
a.tourmaster-button.coordinator-profile {background: #da3f50;background: -webkit-linear-gradient(left, #da3f50 , #672a83);background: -o-linear-gradient(right, #da3f50, #672a83);background: -moz-linear-gradient(right, #da3f50, #672a83);background: linear-gradient(to right, #da3f50 , #672a83);display: block;text-align: center;padding: 10px;border-radius: 13px;}
.modal-scrollable {overflow: scroll;position: relative;display: block;height: 100%;padding-bottom: 100px;}
.modal-footer {position: absolute;bottom: 0;width: 100%;background: #fff;left: 0;padding: 20px;border-top: 1px solid #eee;}
.traveller-alert-message { margin-bottom: 30px; }
.tourmaster-gender-slots {
	margin-bottom: 30px;
	color: #fff;
	text-align: center;
	font-weight: 600;
	background: #da3f50;
	background: -webkit-linear-gradient(left, #da3f50, #672a83);
	background: -o-linear-gradient(right, #da3f50, #672a83);
	background: -moz-linear-gradient(right, #da3f50, #672a83);
	background: linear-gradient(to right, #da3f50, #672a83);
	padding: 10px 20px;
	border-radius: 13px;
	display: inline-block;
}
.tourmaster-container {
    padding-left: 10px !important;
    padding-right: 10px !important;
}
body:not(.wp-admin) .hidden-field-hk { display: none; }
/* Coordinator page */
.content-personnel {padding-top: 150px;}
.head-coordinator {display: grid;grid-template-columns: 33.33% 1fr;grid-gap: 40px;align-items: start;padding-bottom: 75px;}
.head-coordinator .image-coordinator {width: 75%;background-size: cover;border-radius: 100%;padding-bottom: 75%;margin: 0 auto;}
.head-coordinator.dummy {grid-template-columns: 1fr!important;}
ul.multiple-images-coordinator {list-style: none;display: block;text-align: center;margin: 0;margin-left: 30px;display: grid;grid-template-columns: repeat(4,1fr);}
.head-coordinator .multiple-images-coordinator .image-coordinator {overflow: hidden;width: 100%!important;padding-bottom: 100%!important;display: block;position: relative;height: unset;}
.head-coordinator .multiple-images-coordinator .image-coordinator img {object-fit: cover;width: 100%;height: 100%;position: absolute;left: 0;}
ul.multiple-images-coordinator li {display: inline-block;margin-left: -30px;}
.traveltour-body .head-coordinator h4 {font-size: 54px;font-weight: 800;display: inline-block;text-transform: uppercase;letter-spacing: 1px;margin-bottom: 0px;transition: color 200ms;-moz-transition: color 200ms;-o-transition: color 200ms;-webkit-transition: color 200ms;}
.traveltour-body .head-coordinator h5 {font-size: 18px;margin-top: 50px!important;text-transform: uppercase;margin-bottom: 0px;transition: color 200ms;-moz-transition: color 200ms;-o-transition: color 200ms;-webkit-transition: color 200ms;font-size: 18px;font-weight: 600;letter-spacing: 2px;    padding-bottom: 30px;}
.traveltour-body .head-coordinator h5.small { font-size: 15px;font-weight: 500;text-transform: none;margin-top: 0px!important;padding-bottom: 20px;}
.traveltour-body .head-coordinator span.subtitle { display: block;font-weight: 400;font-family: "Poppins", sans-serif; font-size: 20px;color: #747474;font-style: italic;}
.gdlr-core-container.coordinator-tours-list {padding: 20px 0 100px 0;}
.gdlr-core-gallery-item-holder[data-layout="masonry"] {border-radius: 8px;overflow: hidden;}

/* Coordinator in shortcode */
.content-personnel.in-tour-personnel {padding: 0;}
.content-personnel.in-tour-personnel .head-coordinator {grid-template-columns: 150px 1fr;padding-bottom: 20px;align-items: center;}
.content-personnel.in-tour-personnel .head-coordinator h4 {font-size: 24px;}
.content-personnel.in-tour-personnel .head-coordinator span.subtitle {font-size: 16px;}
.content-personnel.in-tour-personnel a.tourmaster-button.coordinator-profile {margin: 0 auto;max-width: 250px;padding: 15px;margin-top: 40px;}

/* Slide home */
.slide-wrapper {margin-top: 60px;}
.contain-slide {display: block;margin: 20px 0;text-align: center;color: #fff;font-size: 18px;width: 300%;display: grid;grid-template-columns: repeat(3, 1fr);position: relative;left: 0;transition: .5s all;}
.contain-slide * {transition: .5s all;}
.contain-slide[offset-active="active-2"]{ left: -100%; }
.contain-slide[offset-active="active-3"]{ left: -200%; }
.contain-slide a {color: #fff;padding: 5px 20px!important;margin-left: 20px;}
.contain-slide .item.active {opacity: 1;}
.contain-slide .item {opacity: 0;}
.slide-wrapper ul.huakai-navigation-slide {margin: 0;padding: 0;list-style: none;display: block;width: 100%;margin: 10px auto;text-align: center;}
.slide-wrapper ul.huakai-navigation-slide li {cursor:pointer;width: 12px;height: 12px;background: transparent;display: inline-block;margin: 0 5px;border-radius: 100%;border: 2px solid #fff;}
.slide-wrapper ul.huakai-navigation-slide li.active {background: #fff;}

.huakai-slider .gdlr-core-pbf-background-wrap {width: 300vw;left: 0%;transition: .5s all;}
.huakai-slider .gdlr-core-pbf-background-wrap[offset-active="active-2"] {left: -100vw;}
.huakai-slider .gdlr-core-pbf-background-wrap[offset-active="active-3"] {left: -200vw;}
.huakai-slider .gdlr-core-pbf-background-wrap > div {transition: .5s all;}
.huakai-slider .gdlr-core-pbf-background-wrap > div {width: 100vw;position: relative!important;display: inline-block;}

/* Huakai Highlights */
.huakai-highlights .content-popup {display: none;}
.huakai-highlights .gdlr-core-pbf-column {cursor: pointer;}
.highlight-modal.modal-opened > div {position: fixed;top: 15%;z-index: 9;max-width: 550px;left: 50%;margin-left: auto;margin-right: auto;left: 0;right: 0;background: #fff;padding: 30px 20px;border-radius: 8px;}
.highlight-modal.modal-opened::before {display: block;content: '';width: 100%;position: fixed;height: 100%;top: 0;left: 0;background: rgba(0,0,0,0.4);z-index: 8;}
.highlight-modal .highlight-category {display: none;}
.highlight-modal .gdlr-core-image-item img {border-radius: 8px;}
.highlight-modal .gdlr-core-text-box-item {padding-bottom: 0;}
.highlight-close {text-align: right;position: absolute;right: 0;top: -5px;padding: 10px;z-index: 9;cursor:pointer;}
.highlight-close > span {font-size: 30px;line-height: 30px;}
.highlight-close {display: none;}

.huakai-highlights .gdlr-core-pbf-wrapper-container {border-right: 430px solid #fff;padding-right: 0!important;position: relative;}
.tourmaster-without-sidebar .huakai-highlights .gdlr-core-pbf-wrapper-container {border-right: 0px;}
.huakai-highlights .gdlr-core-pbf-wrapper-container .gdlr-core-pbf-column {padding-top: 10px;}
.huakai-highlights .gdlr-core-pbf-wrapper-container > div:first-child { margin-left: 0%; }
.huakai-highlights .next-slide, .huakai-highlights .prev-slide {cursor:pointer;position: absolute;top: 25%;width: 40px;height: 40px;right: 20px;background: #fff !important; color: black !important; text-align: center;align-items: center;border-radius: 100%;line-height: 40px;z-index: 9;}
.huakai-highlights .prev-slide {left: 50px;}

ul.highlights-filter {list-style: none;margin: 0;padding: 0 10px;margin-bottom: 30px;}
ul.highlights-filter li {color: #9a9a9a; font-weight: 600;display: inline-block;cursor: pointer;padding: 5px 20px;border-bottom: 2px solid transparent;}
ul.highlights-filter li.active, ul.highlights-filter li:hover {color:#000;border-bottom: 2px solid #da3e50;}

.highlight-modals {position: fixed;z-index: 9999999;width: 500vw;top: 0;height: 100vh;display: none;transition: .5s margin-left;align-items: start;}
.highlight-modals .overlay {display: none;width: 100%;position: fixed;height: 100%;top: 0;left: 0;background: rgba(0,0,0,0.4);z-index: 9999998;}
.highlight-modals.open .overlay {display: block;}
.highlight-modals.open {display: grid;}
.highlight-modal {position: relative;height: 100vh;display: inline-block;margin: 0 auto;padding: 0 10px;top: 0;cursor:ew-resize;-moz-user-select: none;-webkit-touch-callout: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;width: 100vw!important;}
.highlight-modal img {-webkit-user-drag: none;-khtml-user-drag: none;-moz-user-drag: none;-o-user-drag: none;user-drag: none;}
.highlight-modal > div {background: #fff;padding: 20px;border-radius: 10px;margin: 15vh auto 15vh auto!important;position: relative;z-index: 9999999;height: 70vh;overflow: scroll;max-width: 550px;}
/* Countdown timer */
.tourmaster-tour-booking-bar-widget.huakai-countdown {padding: 40px 40px 30px 40px!important;background: #f5f5f5;color: #000;text-align: center;font-size: 18px;margin-top: 40px;box-shadow: 0px 1px 3px rgb(0 0 0 / 20%);
    -moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 0px 1px 3px rgb(0 0 0 / 20%);display: block!important;}
.tourmaster-tour-booking-bar-outer, 
.tourmaster-template-payment .tourmaster-tour-booking-bar-wrap, 
.tourmaster-tour-booking-bar-widget.huakai-countdown {
	border-radius: 17px;
	-moz-border-radius: 17px;
	-webkit-border-radius: 17px;
}
.tourmaster-tour-booking-bar-widget.huakai-countdown .timer {font-weight: 600;font-size: 32px;}
.reset {font-size: 14px;border: 1px solid #fff;border-radius: 8px;display: inline-block;padding: 5px 10px;cursor: pointer;}

/* Search filter */
body.tourmaster-template-search .tourmaster-tour-search-item-wrap {width: 100%!important;float: none!important;max-width: 100%!important;margin-top: 50px!important;}
.tourmaster-tour-search-item-wrap .tourmaster-tour-search-type-filter {display: none;}
.tourmaster-tour-search-item-style-2 .tourmaster-tour-search-item-head {display: none;}
.tourmaster-tour-search-item-wrap .tourmaster-tour-search-item-divier {display: none;}
.tourmaster-tour-search-item-wrap form.tourmaster-form-field.tourmaster-with-border {display: grid;grid-template-columns: 1fr 200px;align-items: end;grid-gap: 20px;}
.tourmaster-tour-search-item.tourmaster-style-full.tourmaster-tour-search-item-style-2 .tourmaster-tour-search-field {margin: 0!important;display: grid;grid-template-columns: 150px 1fr;align-items: center;}
.tourmaster-tour-order-filterer-wrap.tourmaster-item-mglr.clearfix {display: none;}
.tourmaster-tour-search-item.tourmaster-style-full.tourmaster-tour-search-item-style-2 .tourmaster-tour-search-field label {margin: 0;}
body.tourmaster-template-search .tourmaster-search-style-2 .tourmaster-tour-search-wrap.tourmaster-with-frame {padding: 20px 30px;}

/* Other adjustments */
body.admin-bar-position-top:not(.topbar-disabled) {padding-top: 20px;}

/* Slick adjustments */
.huakai-highlights .slick-list .gdlr-core-image-item-wrap {padding-bottom: 75%;display: block;}
.huakai-highlights .slick-list .slick-slide img {display: inline-block!important;position: absolute;left: 0;top: 0;object-fit: cover;height: 100%;width: 100%;box-shadow: 0 0 4px #999;border-radius: 8px;}
.huakai-highlights .slick-list .gdlr-core-text-box-item {text-align: left;}
.slick-list .slick-slide img {display: inline-block!important;}
.slick-list .gdlr-core-column-first { clear: unset!important; }
.slick-track { margin-left: 0!important; }
.huakai-highlights .slick-list{ padding:0 20% 0 0% !important; transition: .5s padding!important;}
.prev-slide.slick-arrow.slick-disabled + .slick-list {padding: 0 20% 0 0 !important;}

/* Checkout form */
.tourmaster-form-field.tourmaster-with-border .tourmaster-validate-error {background-color: #ffd2d2!important;border-color: #ffbbbb!important;}

/* Provider form */
.small-form {max-width: 750px;margin: 0 auto;display: block;box-shadow: 0 0 5px #ddd;padding: 30px;}
.small-form .acf-fields > .acf-field {border: 0;}
.small-form .acf-form-submit {padding: 15px 12px;}
#message.updated + form {display: none;}
#message.updated p {margin: 0;color: green;}

/* FAQ */
.faq-selector ul {list-style: none;padding: 0;margin: 0;margin-bottom: 20px;}
.faq-selector ul li {cursor:pointer;font-size: 14px;font-weight: 600;padding: 28px 25px 28px;display: inline-block;margin-right: 10px;border-bottom: 2px solid #eee;min-width: 200px;text-align: center;color: #aaa;}
.faq-selector ul li.active {border-color: red;color: #000;}
.faq-tabs {display: none;}
.faq-tabs.active {display: block;}

/* Tour page */
@media screen and (min-width: 1000px) {
    .tourmaster-single-tour-content-wrap {
        padding-top: 25px;
    }
}

.tourmaster-single-header-title-wrap {
	height: 300px;
	display: flex;
	flex-direction: column;
	padding-top: 50px!important;
	padding-bottom: 0px!important;
	align-items: start;
	justify-content: end;
}

@media only screen and (max-width: 999px) {
	.tourmaster-single-header-title-wrap {
		max-height: 50vh;
		padding-bottom: 0px!important;
	}
	.single-tour .tourmaster-tour-info-outer {
		margin: auto !important;
	}	
}

.traveltour-body-front .gdlr-core-container, .traveltour-body-front .traveltour-container {
    padding-left: 20px !important;
}

/* Waiting list */
div#waiting-list {padding: 30px;padding-bottom: 50px;position: relative;}
div#waiting-list h6 {text-align: center;}
div#waiting-list .form-group {margin-bottom: 10px;}
div#waiting-list input[type="date"] {display: block;width: 100%;padding: 20px;-webkit-appearance: none;-moz-appearance: none;}
div#waiting-list button {width: 100%;padding: 20px;}
div#waiting-list .msg.hidden {display: none;}
div#waiting-list .msg {padding: 20px; background: #eee;}
div#waiting-list .msg.error {background: rgb(255, 155, 155);}
div#waiting-list .overlay.hidden {display: none;}
div#waiting-list .overlay {display: flex;background: rgba(0,0,0,0.3);position: absolute;top: 0;left: 10px;width: calc(100% - 20px);height: calc(100% + 20px);align-items: center;justify-content: center;z-index: 9;border-radius: 12px;}
span.out-of-stock-text {text-decoration: underline;color: #c50000;}
.open-waitlist {display: none;}

.lds-ring{display:inline-block;position:relative;width:80px;height:80px}
.lds-ring div{box-sizing:border-box;display:block;position:absolute;width:64px;height:64px;margin:8px;border:8px solid #fff;border-radius:50%;animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#fff transparent transparent transparent}
.lds-ring div:first-child{animation-delay:-.45s}
.lds-ring div:nth-child(2){animation-delay:-.3s}
.lds-ring div:nth-child(3){animation-delay:-.15s}
@keyframes lds-ring{
0%{transform:rotate(0)}
100%{transform:rotate(360deg)}
}

/* Job positions */
.single-awsm_job_openings h1.entry-title.awsm-jobs-single-title {display: none;}
.single-awsm_job_openings .awsm-job-form-inner h2 {font-size: 1.5rem;}
.single-awsm_job_openings .awsm-job-form .awsm-job-form-inner {border-radius: 12px!important;}

/* Notify tour */
.alert-box{display:none;position:absolute;max-width:350px;background:#fff;border-radius:12px;border:1px solid #eee;padding:20px;z-index:999;margin-left:10px;margin-top:10px;box-shadow:0 0 10px #0000001a;padding-top: 40px;}
.alert-box h4{font-size: 1.15rem!important;}
.alert-box input{padding:10px;display:block;width:100%;border-radius:8px}
.alert-box input::placeholder{color:#999}
.alert-box a.send_confirmed{display:flex; justify-content: center; align-items: center;padding:10px;background:#da3f50;color:#fff;border-radius:8px;max-height:38px;margin-top:10px;transition:.3s all}
.alert-box a.send_confirmed:hover{background:#000; color: #fff;}
.alert-box .close_box {cursor:pointer;text-align: right;display: flex;justify-content: flex-end;text-transform: uppercase;align-items: center;position: absolute;top: 10px;right: 10px;}
.alert-box .accept-policy {display: flex;gap: 5px;margin: 5px 0;}
.alert-box .accept-policy input {display: inline-block;width: auto;}
a.open-waiting {font-weight: 600;margin: 5px 0;display: block;display: flex;align-items: center;color:#777!important}
a.open-waiting i {margin-right: 10px;display: flex;}
.result-box {display:none;padding: 10px;border-radius: 8px;background: #eee;}
li.li-lista {vertical-align: top;}
li.li-lista.status-col {width: 250px;}

.style-single a.open-waiting {border: 1px solid #fff;color: #fff!important;display: inline-flex;padding: 5px 10px;border-radius: 8px;margin-top: 10px;}
.style-single .alert-box {position: fixed;top: calc(50% - 100px);left: calc(50% - 175px);z-index: 9999!important;}
.style-single .alert-box::after {/* content: ''; */position: absolute;width: 10000%;height: 3000%;background: rgba(0,0,0,0.3);top: -1000%;left: -1000%;/* display: block; */z-index: 9;}

div#past-tours-box {padding: 10px;border: 1px solid #ddd;border-radius: 8px;text-align: center;max-width: 200px;margin: 0 auto;margin-top: 20px;}
div#past-tours-box h5 {margin: 0!important;padding: 0;font-size: 14px;}
div#past-tours-box h3 {margin: 0;padding: 10px;background: #eee;border-radius: 8px;margin-top: 10px;}

.purchase-error-contact-admin {padding: 20px;background: #ffc9c9;border-radius: 12px;}
.purchase-error-contact-admin p {margin: 0;}

/* Mobile */
@media only screen and (max-width: 999px) {
    /* Coordinator shortcode */
    .head-coordinator {grid-template-columns: 1fr!important;}
    .head-coordinator .image-coordinator {border-radius: 100%;overflow: hidden;width: 150px!important;height: 150px;padding: 0;}
    .head-coordinator .multiple-images-coordinator .image-coordinator {width: 100%!important;}
    .first-two {display: flex;flex-direction: column-reverse;float: left;}
    .first-two > * {width: 65px!important;margin: 0px!important;margin-right: 20px!important;}
    .first-two > span {line-height: 20px;margin-top: 0px!important;padding: 0!important;}

    /* Highlights */
    .huakai-highlights .gdlr-core-pbf-wrapper-container {border-right: 20px solid #fff;padding-right: 0!important;}
    .huakai-highlights .gdlr-core-pbf-wrapper-container .gdlr-core-pbf-column {/* transition: .5s all; */}
	.highlight-modal.modal-opened > div {max-width: 90%;margin: 0 auto!important;top: 40px;overflow: scroll;max-height: 80vh;}
    .huakai-highlights .slick-list {padding: 0 30% 0 0% !important;}
    .prev-slide.slick-arrow.slick-disabled + .slick-list {padding: 0 30% 0 0 !important;}
    .huakai-highlights .slick-arrow {display: none!important;}
    .highlight-modal { width: 450px!important;}
    .highlight-modal > div {margin: 7vh auto 7vh auto!important;height: 70vh;overflow: scroll;width: unset;}

    /* Gender slots */
    .tourmaster-gender-slots {padding: 10px;margin-bottom: 15px;font-size: 13px;background: transparent;border: 1px solid;}

	/* Search filter mobile */
	.tourmaster-tour-search-item-wrap form.tourmaster-form-field.tourmaster-with-border {grid-template-columns: 1fr;}
	.tourmaster-tour-search-item.tourmaster-style-full.tourmaster-tour-search-item-style-2 .tourmaster-tour-search-field {grid-template-columns: 1fr;}
	.tourmaster-tour-search-item.tourmaster-style-full.tourmaster-tour-search-item-style-2 .tourmaster-tour-search-field label {margin-bottom: 20px;}
	body.tourmaster-template-search .tourmaster-tour-search-item-wrap {margin-top: 0!important;}

    /* Other adjustments */
    body.admin-bar-position-top:not(.topbar-disabled) {padding-top: 40px!important;}

    /* Slick adjustments */
    .huakai-highlights .slick-list .gdlr-core-image-item-wrap::before {width: 36px;height: 36px;line-height: 36px;}

    /* FAQ */
    .faq-selector ul {display: grid; grid-template-columns: 1fr 1fr;}
    .faq-selector ul li { padding: 20px; min-width: unset; width: 100%; }
    
}

@media only screen and (max-width: 767px) {
    /* Waitlist */
    div#waiting-list {padding: 10px;}
    div#waiting-list h6 {font-size: 14px;text-align: left;margin: 0;}
    .head-waitlist {display: flex;justify-content: space-between;}
    .open-waitlist {display: block;}
    div#waiting-list .visible-form {max-height: 0;height: 100%;transition: .5s max-height, .5s opacity;opacity:0;}
    div#waiting-list .visible-form.open {max-height: 600px;opacity: 1;padding-top:20px;}
	.open-waitlist span {padding: 5px 10px;background: #53cf2e;display: inline-block;border-radius: 8px;font-size: 14px;cursor: pointer;color: #fff;font-weight: 600;}
    .open-waitlist span::after {content: 'x';border: 1px solid #ddd;border-radius: 100%;width: 20px;height: 20px;padding: 3px;/* transform: rotate(90deg); */display: inline-block;margin-left: 10px;transition: .5s all;line-height: 10px;text-align: center;background: #ddd;font-weight: 300;color: #000;display: none;}
    .open-waitlist.open span::after {display: inline-block;}

    /* Job positions */
    .single-awsm_job_openings .awsm-job-content {padding: 20px;padding-top: 0;}
    .single-awsm_job_openings .awsm-job-form .awsm-job-form-inner {padding: 20px;margin: 0 10px;}
    .single-awsm_job_openings .awsm-job-form .awsm-job-form-inner h2 {font-size: 1.5rem!important;}
    
    /* Notify confirmed */
    .alert-box {left: 10px;right: 10px;max-width: 100%;margin: 0;}
	.style-single .alert-box {left: 10px;right: 10px;max-width: 100%;}
}

@media only screen and (max-width: 480px) {
    .highlight-modal { width: 350px!important;}
    .single-tour #qlwapp.qlwapp-bottom-left.waiting-list, .single-tour #qlwapp.qlwapp-bottom-right.waiting-list {bottom: 150px!important;}
}

/* Driving assets */
.cs-names {
	clear: both;
	background: #fff;
	padding: 20px;
	margin-top: 10px;
	display: block;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.cs-names input {
	padding: 5px 10px;
	border-radius: 8px;
	margin-top: 10px;
	width: 100%;
}

.cs-item span.tourmaster-payment-service-form-price-wrap {
	float: none!important;
	text-align: right;
	width: 100%;
	display: block;
}

.cs-item select.cs-seats {
	padding: 5px 10px;
	border-radius: 8px;
	margin-left: 10px;
}

.cs-names .cs-inputs {
	display: flex;
	align-items: center;
}

.cs-first-line {
	display: flex;
}

.cs-names .cs-inputs > * {
	margin: 0;
	min-width: 150px;
}

select.cs-input-field {
	width: 100%;
	padding: 5px;
	border-radius: 8px;
}

/* Flights */
.flights-card {
	padding: 20px;
	border: 1px solid #eee;
	border-radius: 8px;
	background: #fff;
	margin-bottom: 20px;
}

.flights-card .fc-services {
	display: flex;
	margin-top: 20px;
}

.flights-card .fc-services-card {
	display: flex;
	padding: 20px;
	border: 1px solid #eee;
	flex: 1;
	border-radius: 8px;
	justify-content: space-between;
}
.flights-card .fs-title {
	font-weight: bold;
}
.flights-card .fc-title h3 {
	font-size: 20px;
	font-weight: 600;
	color: #202020;
	margin: 0;
}

.flights-card .fc-title {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
	gap: 8px;
}

.flights-card .fs-price {
	font-weight: 600;
	color: #999;
}
.flights-card .fc-services-card > .fs-left {
	flex: 1;
}
.flights-card .fs-tab-opener {
	color: #da3f50;
	cursor: pointer;
	display: flex;
	align-items: center;
}
.flights-card .fs-tab-opener i {
	display: flex;
}
.flights-card .fs-tab-content {
	color: #777;
	font-size: 12px;
}
.fs-description summary::-webkit-details-marker,
.fs-description summary::before,
.fs-description summary::marker {
    content: none;
    display: none;
}
.flights-card .fs-description .fi-rr-minus-small {
	display: none;
}
.flights-card .fs-description[open] .fi-rr-minus-small {
	display: flex;
}
.flights-card .fs-description[open] .fi-rr-plus-small {
	display: none;
}

/* Hotels */
.itinerary-widget {
	padding: 10px 0;
}

.hotel-container {
	display: block;
}

h6.hotel-widget-title {
	font-size: 24px!important;
	font-weight: 600!important;
	letter-spacing: 0px;
	text-transform: none;
	color: #202020!important;
}

.hotels-widget-footer {
	color: #999;
	font-size: 13px;
}

.hotel-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start;
    margin: 20px 0;
}

.hotel-grid .hotel-item {
	margin-right: 10px;
    flex-basis: calc(25% - 10px);
    border: 1px solid #ccc;
    padding: 0;
    text-align: center;
    box-sizing: border-box;
    border-radius: 8px;
    overflow: hidden;
    flex-grow: 1;
    max-width: calc(25% - 10px);
    display: flex;
    flex-direction: column; 
    justify-content: space-between;
	min-height: 300px;
}

.hotel-grid .hotel-item .image-container {
    width: 100%;
    position: relative;
    background-color: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    height: 150px;
}

.hotel-grid .hotel-item .image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hotel-grid .hotel-item .image-container.no-image span {
    font-size: 24px;
    font-weight: bold;
}

.hotel-grid .hotel-item .item-title {
	min-height: 50px;
	display: block;
}

.hotel-grid .hotel-item .features-container > div {
	margin: 10px 0;
}

.hotel-grid .hotel-item .features-container .rating .rating-title {
	font-size: 12px;
}

.hotel-grid .hotel-item .features-container .rating .rating-content {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	justify-content: center;
}

.hotel-grid .hotel-item .features-container .rating svg {
	width: 18px;
	height: 18px;
}

.hotel-grid .hotel-item .features-container .booking-rating {
    display: flex;
    background: #003580;
    justify-content: center;
    align-items: center;
    width: 120px;
    height: 35px;
    border-radius: 10px 10px 10px 0;
    gap: 5px;
	margin: 10px auto;
}

.hotel-grid .hotel-item .features-container .booking-rating .booking-logo {
    display: flex;
}

.hotel-grid .hotel-item .features-container .booking-rating .booking-score {
	color: white;
    font-size: 14px;
    font-weight: 600;
}

.hotel-grid .hotel-item .features-container .booking-rating .booking-logo svg {
    width: 70px;
    height: auto;
}

.hotel-grid .hotel-item .star {
    color: #ccc;
    font-size: 16px;
}

.hotel-grid .hotel-item .star .filled {
    color: #ccc;
    overflow: hidden;
    position: relative;
}

.hotel-grid .hotel-item .star .filled::before {
    content: "\2605";
    position: absolute;
    overflow: hidden;
    color: #f39c12;
}

.hotel-grid .hotel-item .star .filled.half-star::before {
	width: 50%;
}

.hotel-grid .hotel-item .amenities {
    margin-top: 5px;
}

.hotel-grid .hotel-item .amenities i {
    margin-right: 5px;
}

.hotel-grid .hotel-item .text-container {
	padding: 10px;
}

.hotel-grid .hotel-item .text-container {
	font-size: 14px;
}

.hotel-grid .hotel-item.wide-card {
	flex-direction: row;
	display: flex;
	flex: 1;
	flex-basis: 100%;
	max-width: 100%;
	align-items: center;
	min-height: auto;
}

.hotel-grid .hotel-item.wide-card > div {
	flex: 1;
}

.hotel-grid .hotel-item.wide-card > .image-container {
	height: 300px;
}

.hotel-grid .hotel-item.wide-card > .text-container {
	text-align: left;
	padding-left: 30px;
}

.hotel-grid .hotel-item.wide-card .features-container .rating .rating-content {
	justify-content: start;
}

@media (max-width: 768px) {
    /* .hotel-grid .hotel-item {
        max-width: 100%;
		min-width: 200px;
    } */
	
	.hotel-grid .hotel-item .image-container {
	    height: 250px;
	}

	.hotel-grid .hotel-item.wide-card {
		flex-direction: column;
	}

	.hotel-grid {
		display: block;
		gap: 0;
	}

	.hotel-grid .hotel-item {
		flex-basis: unset;
		flex-grow: unset;
		display: block;
	}
	
	.hotel-grid .hotel-item.wide-card > .text-container {
		width: 100%;
		padding: 20px 20px 10px 20px;
	}

	.itinerary-widget .hotel-grid > .slick-list{
		padding:0 10% 0 0 !important;
	}
}

.itinerary-widget  .slick-track
{
    display: flex !important;
}

.itinerary-widget .slick-slide
{
    height: inherit !important;
}

.carrousel-arrows {
	line-height: 0;
	position: absolute;
	top: 50%;
	display: block;
	width: 20px;
	height: 20px;
	padding: 0;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
	cursor: pointer;
	background: #fff;
	border-radius: 100%;
	width: 24px;
	height: 24px;
}

.hotel-grid .carrousel-arrows.prev-arrow {
	left: -20px;
}

.hotel-grid .carrousel-arrows.next-arrow {
	right: -20px;
}

.hotel-grid .carrousel-arrows.gallery-arrows {
	z-index: 9;
	background: transparent;
	color: #fff;
}

.hotel-grid .carrousel-arrows.gallery-arrows.prev-arrow {
	left: 10px;
}

.hotel-grid .carrousel-arrows.gallery-arrows.next-arrow {
	right: 10px;
}

.hotel-grid .slick-dotted.slick-slider {
	margin: 0;
}

.hotel-grid .slick-dots {
	bottom: 0;
}

.hotel-grid .slick-dots li button:before {
	color: #fff!important;
	opacity: 0.7;
}

.hotel-grid .slick-dots li.slick-active button:before {
	opacity: 1!important;
}

.hotel-grid .image-container.slick-slider .slick-list, .image-container.slick-slider .slick-track {
	height: 100%;
}

/******************* CUSTOM BORDER & BACKGROUND COLOR *******************/
.gdlr-core-accordion-style-box-icon .gdlr-core-accordion-item-icon, .gdlr-core-widget-list-shortcode {
    border-radius: 13px !important;
}

.gdlr-core-accordion-style-box-icon .gdlr-core-skin-e-background.gdlr-core-skin-border,
.gdlr-core-toggle-box-style-box-icon .gdlr-core-skin-e-background.gdlr-core-skin-border{
	position: absolute;
}

.gdlr-core-accordion-style-box-icon h4,
.gdlr-core-toggle-box-style-box-icon h4 {
	margin-left: 70px;
}

.gdlr-core-accordion-style-box-icon .gdlr-core-accordion-item-icon, 
.gdlr-core-toggle-box-style-box-icon .gdlr-core-toggle-box-item-icon,
.gdlr-core-accordion-style-background-title .gdlr-core-accordion-item-title, 
.gdlr-core-accordion-style-background-title-icon .gdlr-core-accordion-item-title, 
.gdlr-core-toggle-box-style-background-title .gdlr-core-toggle-box-item-title, 
.gdlr-core-toggle-box-style-background-title-icon .gdlr-core-toggle-box-item-title,
.gdlr-core-widget-list-shortcode {
	background-color: #F4F7FA !important;
    border-color: #F4F7FA !important;
}

.gdlr-core-toggle-box-style-background-title-icon .gdlr-core-toggle-box-item-title {
	border-radius: 13px !important;
}

/******************* CUSTOM IMAGE HEADER *******************/

.custom-style-image-header, .custom-style-image-header picture {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	background-position: center;
	background-size: cover;
	-o-object-fit: cover;
	object-fit: cover;
}

.custom-style-image-header img {
	width: 100%;
	object-fit: cover;
	position: absolute;
	height: 100%;
}

@media screen and (max-width: 999px) {
	.custom-style-image-header img {
	  height: 100%;
	  object-fit: cover;
	}
}

.huakai-video iframe {
	width: 100%;
	height: 100%;
	position: absolute;
}

.huakai-video > div {
	position: relative;
	border-radius: 15px;
	overflow: hidden;
	padding-bottom: max(30%,300px);
}

/*************** -FIXES FOR 'TEL' INPUTS- *****************/
input[type="tel"] {
    padding: 14px;
    border: 2px solid #e5e5e5;
	width: 100%;
}

.iti.iti--allow-dropdown.iti--show-flags.iti--inline-dropdown {
	width: 100% !important;
}

.tourmaster-payment-traveller-info-wrap .tourmaster-traveller-info-field .tourmaster-tail {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
}

.tourmaster-payment-traveller-info-wrap .tourmaster-traveller-info-field .tourmaster-tail input, .tourmaster-payment-traveller-info-wrap .tourmaster-traveller-info-field .tourmaster-tail .tourmaster-traveller-info-custom {
	width: 100%!important;
	margin: 0!important;
}

.tourmaster-tour-payment-content .tourmaster-form-field {
	overflow: visible !important;
}

.tourmaster-contact-field.tourmaster-contact-field-phone.tourmaster-type-text {
	display: flex;
}

.tourmaster-contact-field.tourmaster-contact-field-phone.tourmaster-type-text .tourmaster-tail, .tourmaster-traveller-info-field span.tourmaster-tail {
	overflow: visible;
	flex: 1;
}

@media only screen and (max-width: 768px) {
	.tourmaster-payment-traveller-info-wrap .tourmaster-traveller-info-field .tourmaster-tail {
		grid-template-columns: 1fr;
	}
	.tourmaster-contact-field.tourmaster-contact-field-phone.tourmaster-type-text {
		flex-direction: column;
	}
}


/*************** -LOYALTY SHOP- *****************/

#loyalty-container {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
	margin-top: 20px;
}

.coins-balance {
	float: right;
	padding: 5px 10px;
	border: 1px solid #e6e6e6;
	border-radius: 12px;
	position: relative;
    display: flex;
    gap: 5px;
    align-items: center;
	margin-right: 10px;
}

.coins-balance i {
	display: flex;
	cursor: pointer;
}

.coins-amount {
	display: flex;
}

.loyalty-store-container {
	display: flex;
    flex-direction: column;
    gap: 20px;
}

.loyalty-store-container > h3:not(.loyalty-container *) {
	margin: 0 !important;
	font-weight: normal !important;
    text-align: center;
}

.loyalty-store-container a {
	text-align: center;
}

.loyalty-store-container .products-grid {
    display: grid;
	grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.product-item {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border: 1px solid #ccc;
    padding: 10px 10px 20px 10px;
    margin: 0 auto;
    text-align: center;
    border-radius: 16px;
}

.loyalty-store-container .product-item h2 {
	font-size: 1.2em !important;
	margin: 10px 0 !important;
}

/* Clamp description to 2 lines with ellipsis */
.clamp-2-lines {
	display: -webkit-box;
	line-clamp: 2;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: normal;
	min-height: 2.6em;
}

.see-more-link, .open-swal-modal.clickable {
	color: #652C90;
	cursor: pointer;
	font-weight: 600;
	display: inline;
}

.product-image{
    width: 100%;
    height: 250px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

.product-image img {
    width: auto;
    height: 100%;
    min-width: 100%;
    object-fit: cover;
    border-radius: 16px 16px 0 0;
}

.loyalty-product-gallery.slick-slider {
    min-width: 0;
    width: 100%;
    border-radius: 16px 16px 0 0;
    overflow: hidden;
    min-height: 250px;
}

.loyalty-product-gallery .slick-list {
    width: 100%;
    min-width: 0;
}

.loyalty-product-gallery {
	width: 100%;
}

.loyalty-product-gallery img,
.loyalty-product-gallery .slick-slide img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 16px 16px 0 0;
}

div[data-key="field_1purchases_user"],
div[data-key="field_2purchases_product"], 
div[data-key="field_11purchases_product_variations_selected"], 
div[data-key="field_10purchases_shipped"] {
    display: none;
}

#selected-count {
    position: absolute;
    top: -10px;
    right: -10px;
    background-color: red;
    color: white;
    border-radius: 50%;
    padding: 5px;
    min-width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.80em;
    font-weight: bold;
}

.shop-button {
	float: right;
    font-size: 16px;
	margin-right: 10px;	
    padding: 5px 10px !important;
    border-radius: 12px !important;
}

.loyalty-variation-radios {
    display: flex;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.loyalty-variation-radio {
    display: inline-block;
    position: relative;
    cursor: pointer;
    margin: 0;
}

.loyalty-variation-radio-input {
    display: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    outline: none !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.loyalty-variation-radio-label {
    display: inline-block;
    padding: 0px 10px;
    border-radius: 8px;
    background: #f7f7f7;
    color: #383838;
    font-weight: 600;
    font-size: 1em;
    border: 1.5px solid #e0e0e0;
    transition: all 0.18s;
    text-align: center;
    box-shadow: none;
    letter-spacing: 0.5px;
}

.loyalty-variation-radio-input:checked + .loyalty-variation-radio-label {
    background: #652C90;
    color: #fff;
    border-color: #652C90;
    font-weight: 700;
    box-shadow: none;
    transform: none;
}

.loyalty-variation-radio-label:hover {
    background: #f0e6ff;
    border-color: #652C90;
    color: #652C90;
}

/* Cost above pills */
.loyalty-variation-cost {
    display: flex;
	justify-content: center;
}


/* Loyalty Modal Styles */
.loyalty-modal-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.loyalty-modal-img-wrap {
	width: 100%;
    height: 350px;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.loyalty-modal-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.loyalty-modal-price {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 1em;
	font-weight: 600;
	color: #383838;
	justify-content: center;
}
.loyalty-modal-coins {
	color: #383838;
	font-weight: 600;
}
.loyalty-modal-description {
	font-size: 1em;
	color: #444;
	margin-top: 8px;
	line-height: 1.5;
	text-align: center;
	white-space: pre-line;
}

@media (max-width: 999px) {
    .loyalty-store-container .products-grid, 
	#loyalty-container  {
        grid-template-columns: 1fr;
    }
	.fullwidth-button {
		width: 100%;
		text-align: center;
	}
}

@media (max-width: 768px) {
    .coins-balance, 
	.shop-button,
	.coordinator-badge {
		float: none !important;
		margin-top: 10px;
		width: 100%;
	}
}


/* Estilo bÃ¡sico para el contenedor de cada radio button */
.payment-radio-button {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    align-items: center;
	cursor: pointer;
    flex-wrap: wrap;
	gap: 5px;
}
  
  /* Esconde el input radio original */
.payment-radio-button input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
}
  
  /* Estilo para el cÃ­rculo vacÃ­o */
.payment-radio-button .checkmark {
	top: 0;
	left: 0;
	height: 20px;
	width: 20px;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 50%;
	display: flex;
    flex-shrink: 0;
	align-items: center;
	justify-content: center;
}
  
  /* Ocultar el Ã­cono por defecto */
.payment-radio-button .checkmark i {
	display: none;
	font-size: 12px; /* Ajusta segÃºn el tamaÃ±o deseado */
	color: #fff;
}
  
  /* Estilo para cuando el radio estÃ¡ seleccionado */
.payment-radio-button input:checked ~ .checkmark {
	background-color: #383838;
	border-color: #383838;  /* Borde del mismo color para un efecto mÃ¡s limpio */
}
  
  /* Mostrar el Ã­cono cuando el radio estÃ¡ seleccionado */
.payment-radio-button input:checked ~ .checkmark i {
	display: flex;
}
  


/*************** - COORDINATOR BADGE- *****************/

.coordinator-badge {
	float: right;
    padding: 6px 10px;
    border-radius: 12px;
    display: flex;
    gap: 5px;
    align-items: center;
    margin-right: 10px;
    background-color: #ff4e47;
    color: #fff;
    font-weight: bold;
}

.coordinator-badge.ambassador {
	cursor: pointer;
    background-color: #4b2795;
    border: 1px solid #e6e6e6;
}

/* Loading state for ambassador button */
.coordinator-badge.ambassador.loading {
    opacity: 0.6;
    pointer-events: none;
    position: relative;
}

.coordinator-badge.ambassador.loading::after {
    content: "...";
    animation: ambassadorDots 1.5s infinite;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
}

@keyframes ambassadorDots {
    0%, 20% { content: ""; }
    40% { content: "."; }
    60% { content: ".."; }
    80%, 100% { content: "..."; }
}

.coordinator-badge i {
	display: flex;
}


/*************** -OVERWRITE ACF- *****************/

.huakai-file-container .hide-if-value {
	display: flex;
	gap: 10px;
}

/*************** - HUAKAI FORM - *****************/

.huakai-progress-bar {
	width: 100%;
	height: 5px;
	background: #fff;
	position: relative;
	z-index: -1;
	.progress {
		width: 100%;
		height: 100%;
		background: #fff;
		position: absolute;
		right: 0;
		top: 0;
		transition: width .5s;
	}
}
.huakai-form-options {
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;

	.huakai-progress-bar {
		margin-bottom: 10px;
	}

	#next {
		font-size: 18px;
		font-weight: bold;
		float: right;
		color: #FF5757;
		padding: 10px 20px;
		cursor: pointer;
		transition: .3s all;
		&:hover {
			color: #652C90;
		}
	}
	#prev {
		font-size: 18px;
		font-weight: bold;
		float: left;
		color: #FF5757;
		padding: 10px 20px;
		cursor: pointer;
		transition: .3s all;
		&:hover {
			color: #652C90;
		}
	}
	#submit {
		float: right;
		background: linear-gradient(to right, #FF5757, #652C90);
		border-radius: 30px;
	}
}
.huakai-file-container p.description {
    font-size: .8em;
}
.traveller-login {
	margin-left: auto;
	margin-right: auto;
	max-width: 420px;
	padding: 30px 20px;
	border: 1px solid #a6a6a6;
	label {
		color: #383838;
		font-size: 16px;
		font-weight: 600;
		margin-bottom: 10px;
	}
	input {
		display: block;
		width: 100%;
		font-size: 15px;
		padding: 7px 12px;
		&[type="text"], &[type="email"], &[type="tel"] {
			background: linear-gradient(white, white) padding-box, linear-gradient(to right, #FF5757, #652C90) border-box;
			border: 1px solid transparent;
			&:focus {
				outline: none;
				box-shadow: 0 0 5px #FF5757;
			}
		}
	}
	.form-field {
		margin-bottom: 20px;
		max-width: 340px;
		margin-left: auto;
		margin-right: auto;
	}
}

/* Survey Stepper Styles */
/* Override theme padding for survey page */
.traveltour-content-area:has(.tour-review-form-container) {
	padding-top: 20px !important;
	padding-bottom: 20px !important;
}

/* More specific override for survey container */
.traveltour-content-area .tour-review-form-container {
	margin-top: -40px;
	padding-top: 20px;
}

/* Alternative approach - target the parent container */
body .traveltour-content-area .tour-review-form-container {
	margin-top: -40px !important;
}

.tour-review-form-container {
	max-width: 800px;
	margin: 0 auto;
	padding: 0 20px 20px;
	text-align: center;
}

.survey-header {
	margin-bottom: 20px;
	margin-top: 10px;
}

.survey-header h2 {
	margin-top: 0;
	margin-bottom: 20px;
}

.survey-header h4 {
	font-size: 18px;
	font-weight: 700;
	color: #333;
}

.progress-section {
	position: relative;
	margin-bottom: 20px;
}

.progress-section .step-counter {
	text-align: right;
	font-weight: bold;
	font-size: 14px;
	color: #333;
	margin-bottom: 10px;
}

.progress-section .huakai-progress-bar {
	width: 100%;
	height: 8px;
	background-color: #ffffff;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	overflow: hidden;
	margin-bottom: 15px;
	position: relative;
}

.progress-section .huakai-progress-bar .progress {
	height: 100%;
	background: linear-gradient(to right, #FF5757, #652C90);
	border-radius: 4px;
	transition: width 0.3s ease;
	width: 20%;
	position: absolute;
	left: 0;
	top: 0;
}

.survey-content {
	min-height: 400px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 40px;
}

.form-step {
	width: 100%;
	text-align: center;
}

.form-step h3 {
	font-size: 28px;
	font-weight: 600;
	margin-bottom: 30px;
	color: #333;
}

.step-content {
	padding: 20px;
	text-align: center;
}

.step-content p {
	font-size: 16px;
	color: #666;
	margin: 0;
}

/* Coordinator Step Styles */
.coordinator-evaluation {
	max-width: 500px;
	margin: 0 auto;
}

.coordinator-info {
	margin-bottom: 30px;
}

.coordinator-avatar {
	width: 100px;
	height: 100px;
	margin: 0 auto 15px;
	border-radius: 50%;
	overflow: hidden;
	background-color: #f0f0f0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.coordinator-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.coordinator-avatar .default-avatar {
	font-size: 40px;
	color: #999;
}

.coordinator-name {
	font-size: 20px;
	font-weight: 600;
	color: #333;
	margin: 0;
	text-align: center;
}

.coordinator-rating-section {
	margin-bottom: 25px;
}

.rating-question {
	display: block;
	font-size: 16px;
	font-weight: 500;
	color: #333;
	margin-bottom: 15px;
	text-align: left;
}

.number-rating {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(35px, 1fr));
	gap: 8px;
	margin-bottom: 15px;
	padding: 0 10px;
	max-width: 450px;
	margin-left: auto;
	margin-right: auto;
}

.rating-circle {
	width: 35px;
	height: 35px;
	border-radius: 50%;
	border: 2px solid #ddd;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	background-color: #fff;
	flex-shrink: 0;
}

.rating-circle.selected {
	border: 3px solid transparent;
	background: linear-gradient(white, white) padding-box, linear-gradient(to right, #ff4e47, #4b2795) border-box;
}

.rating-circle span {
	font-size: 14px;
	font-weight: 600;
	color: #666;
}

.rating-circle:hover {
	border-color: #FF5757;
	background-color: #f8f8f8;
}

.rating-circle.selected span {
	color: #333;
	font-weight: 700;
}

.coordinator-suggestions {
	text-align: left;
}

.coordinator-suggestions label {
	display: block;
	font-size: 16px;
	font-weight: 500;
	color: #333;
	margin-bottom: 8px;
}

.coordinator-suggestions textarea {
	width: 100%;
	height: 60px;
	min-height: 60px;
	max-height: 120px;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 8px;
	font-size: 14px;
	resize: vertical;
	background: linear-gradient(white, white) padding-box, linear-gradient(to right, #FF5757, #652C90) border-box;
	border: 1px solid transparent;
	line-height: 1.4;
}

.coordinator-suggestions textarea:focus {
	outline: none;
	box-shadow: 0 0 5px #FF5757;
}

/* Itinerary Step Styles */
.itinerary-evaluation {
	max-width: 500px;
	margin: 0 auto;
}

.itinerary-evaluation * {
	box-sizing: border-box;
}

.itinerary-info-container {
	margin-bottom: 20px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.itinerary-image {
	width: 200px;
	height: 120px;
	margin: 0 auto 15px;
	border-radius: 8px;
	overflow: hidden;
	background-color: #f0f0f0;
	display: block;
}

.itinerary-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.itinerary-name {
	font-size: 20px;
	font-weight: 600;
	color: #333;
	margin: 0;
	text-align: center;
	max-width: 400px;
	margin-left: auto;
	margin-right: auto;
	display: block;
	clear: both;
}

.itinerary-rating-section {
	margin-bottom: 25px;
	text-align: center;
}

.itinerary-suggestions {
	text-align: left;
}

.itinerary-suggestions label {
	display: block;
	font-size: 16px;
	font-weight: 500;
	color: #333;
	margin-bottom: 8px;
}

.itinerary-suggestions textarea {
	width: 100%;
	height: 60px;
	min-height: 60px;
	max-height: 120px;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 8px;
	font-size: 14px;
	resize: vertical;
	background: linear-gradient(white, white) padding-box, linear-gradient(to right, #FF5757, #652C90) border-box;
	border: 1px solid transparent;
	line-height: 1.4;
}

.itinerary-suggestions textarea:focus {
	outline: none;
	box-shadow: 0 0 5px #FF5757;
}

.survey-navigation {
	padding-top: 20px;
}

.nav-buttons {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	margin: 0 auto;
}

.nav-buttons.step-1 {
	justify-content: flex-end;
}

.nav-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 24px;
	border: none;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.3s ease;
	background: transparent;
	line-height: 1;
}

.nav-button.back-btn {
	color: #666;
	border: none;
	background: transparent;
	padding: 12px 0;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.nav-button.back-btn:hover {
	color: #333;
	background: transparent;
}

.nav-button.next-btn,
.nav-button.submit-btn {
	background: linear-gradient(to right, #FF5757, #652C90);
	color: white;
	border: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.nav-button.next-btn:hover,
.nav-button.submit-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(255, 87, 87, 0.3);
}

.nav-button:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none !important;
	box-shadow: none !important;
}

.nav-button i {
	font-size: 16px;
	line-height: 1;
	display: flex;
	align-items: center;
}

/* Responsive styles */
@media (max-width: 768px) {
	.tour-review-form-container {
		padding: 15px;
	}
	
	.survey-header h2 {
		font-size: 24px;
	}
	
	.form-step h3 {
		font-size: 22px;
	}
	
	.nav-buttons {
		flex-direction: column;
		gap: 15px;
		max-width: 100%;
	}
	
	.nav-button {
		width: 100%;
		justify-content: center;
		align-items: center;
		gap: 8px;
	}

	.nav-button.back-btn {
		gap: 6px;
	}
	
	.progress-section .step-counter {
		text-align: center;
		margin-top: 10px;
	}

	/* Coordinator Step Responsive */
	.coordinator-avatar {
		width: 80px;
		height: 80px;
	}

	.coordinator-avatar .default-avatar {
		font-size: 30px;
	}

	.coordinator-name {
		font-size: 18px;
	}

	.number-rating {
		gap: 5px;
		padding: 0 5px;
	}

	.rating-circle {
		width: 30px;
		height: 30px;
	}

	.rating-circle span {
		font-size: 12px;
	}

	.number-rating {
		grid-template-columns: repeat(5, 1fr);
		max-width: 300px;
		gap: 5px;
	}

	/* Itinerary Step Responsive */
	.itinerary-image {
		width: 100px;
		height: 70px;
	}

	.itinerary-name {
		font-size: 18px;
	}
}

/* Extra small screens */
@media (max-width: 480px) {
	.number-rating {
		grid-template-columns: repeat(5, 1fr);
		max-width: 280px;
		gap: 4px;
	}

	.rating-circle {
		width: 28px;
		height: 28px;
	}

	.rating-circle span {
		font-size: 11px;
	}
}

/* Large screens - all in one row */
@media (min-width: 769px) {
	.number-rating {
		grid-template-columns: repeat(10, 1fr);
		max-width: 500px;
	}
}
.hk-center-text {
	text-align: center;
}
.hk-center {
	display: flex;
	justify-content: center;
}
.hk-right {
	display: flex;
	justify-content: flex-end;
}
.hk-left {
	display: flex;
	justify-content: flex-start;
}
.hk-mb1 {
	margin-bottom: 1rem
}
.hk-mb2 {
	margin-bottom: 2rem
}
.hk-msg-error {
	color: #FF5757;
	font-size: 14px;
	font-weight: 600;
}
.hkc-content {
	position: relative;
}
.coins-balance-wrapper {
	opacity: 1;
	transition: opacity .5s;
	.huakai-progress-bar {
		position: absolute;
		left: 0;
		width: 100%;
		top: 0;
	}
	.back-to-shop {
		float: right;
    font-size: 16px;
    margin-right: 10px;
    padding: 5px 10px !important;
    border-radius: 12px !important;
	}
	&.is-fixed {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		padding: 18px;
		z-index: 999;
		background: #fff;
		box-shadow: 0 0 10px #0000001a;
	}
}

/* media querie to mobile 768px */

@media (max-width: 768px) {
	.traveltour-body-front {
		.coins-balance-wrapper {
			&.is-fixed {
				padding-top: 5px;
				padding-bottom: 10px;
			}
			.traveltour-container {
				padding-left: 0 !important;
			}
		}
	}
}

.huakai-custom-notice {
	border-radius: 13px;
    padding: 20px;
    margin-bottom: 30px;

	p {
		margin: 0 !important;
	}
}

@media (max-width: 768px) {
	.huakai-custom-notice {
		margin-top: 30px;
		margin-bottom: 0px;
	}
}

/*************** - TOUR TEMPLATE - *****************/
.tour-template-title {
	display: flex;
	justify-content: center;
	align-items: center;
}

/*************** - TOGGLE HUAKAI - *****************/
.toggle-huakai .gdlr-core-skin-icon, .toggle-huna .gdlr-core-skin-icon {
	display: none;
}

.toggle-huakai h4 {
	color: #ef484e;
}

.toggle-huna h4 {
	color: #00a488;
}

.tour-review-form-container {
  max-width: 600px;
  margin: 0 auto;
  padding: 20px;
}

.tour-review-form-container h2 {
  font-size: 30px;
}

.tour-review-form-container .form-field {
  margin-bottom: 20px;
}

.tour-review-form-container .form-field label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}

.tour-review-form-container .form-field input[type="email"],
.tour-review-form-container .form-field input[type="text"],
.tour-review-form-container .form-field select,
.tour-review-form-container .form-field textarea {
  width: 100%;
  height: 40px;
  padding: 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: linear-gradient(white, white) padding-box, linear-gradient(to right, #FF5757, #652C90) border-box !important;
  border: 1px solid transparent !important;
}

.tour-review-form-container .form-field input[type="email"]:focus,
.tour-review-form-container .form-field input[type="text"]:focus,
.tour-review-form-container .form-field select:focus,
.tour-review-form-container .form-field textarea:focus {
  outline: none;
  box-shadow: 0 0 5px #FF5757 !important;
}

.huakai-star-rating {
	color: #e3c524;
    white-space: nowrap;
    display: flex !important;
	width: fit-content;
}

.star-proportional {
  position: relative;
  display: inline-block;
  width: 18px;
  height: 18px;
  vertical-align: middle;
}

.star-proportional .star-bg {
  color: #e0e0e0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.star-proportional .star-fill {
  color: #ffc107;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  overflow: hidden;
  z-index: 2;
  white-space: nowrap;
  pointer-events: none;
}

.tour-review-form-container .huakai-star-rating {
  font-size: 24px;
  cursor: pointer;
}

.tour-review-form-container .huakai-star-rating .star {
  color: #ddd;
  transition: color 0.2s;
}

.tour-review-form-container .huakai-star-rating .star.active {
  color: #ffd700;
}

.tour-review-form-container .form-submit {
  margin-top: 20px;
}

.tour-review-form-container .huakai-star-rating {
	display: flex;
	gap: 5px;
}

.review-success {
	font-size: 32px !important;
	text-align: center;
	padding: 60px 0;
}

.gradient-text {
	background: linear-gradient(to right, #ff4e47, #4b2795);
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
}

/* Sortable styles */
.tourmaster-rooming-selector {
	margin-top: 30px;
	&.rooming-selector-error {
		.tourmaster-rooming-note {
			display: flex;
		}
	}
}
.tourmaster-rooming-selector .mobile-actions {
	display: flex;
	justify-content: end;
	padding: 10px 0;
}
.tourmaster-rooming-selector .mobile-actions button {
	padding: 5px;
	font-weight: normal;
	text-transform: none;
	font-size: 12px;
	border-radius: 5px;
}
.tourmaster-rooming-selector .mobile-actions button .dashicons {
	font-size: 14px;
	height: initial;
	line-height: 18px;
}
.tourmaster-rooming-selector .room-container {
	margin-top: 15px;
}
.tourmaster-rooming-selector .room .room-head h4 {
	white-space: nowrap;
}
.tourmaster-rooming-selector .traveler-list {
	min-height: 85px;
}
.tourmaster-rooming-selector .traveler-list li {
	cursor: grab;
	position: relative;
	padding: 8px 10px;
	margin-bottom: 5px;
	background-color: #f5f5f5;
	border-radius: 4px;
	transition: background-color 0.2s ease;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.tourmaster-rooming-selector .traveler-list li .traveler-name {
	flex: 1;
}

.tourmaster-rooming-selector .traveler-list li .traveler-actions {
	display: flex;
	gap: 5px;
}

.tourmaster-rooming-selector .traveler-list li .move-btn {
	background: none;
	border: none;
	padding: 4px;
	cursor: pointer;
	color: #666;
	transition: color 0.2s ease;
}

.tourmaster-rooming-selector .traveler-list li .move-btn:hover {
	color: #007cba;
}

.tourmaster-rooming-selector .traveler-list li .move-btn:disabled {
	color: #ccc;
	cursor: not-allowed;
}

.tourmaster-rooming-selector .traveler-list li .move-btn i {
	font-size: 14px;
}

.tourmaster-rooming-selector .traveler-list li:hover {
	background-color: #e9e9e9;
}

.tourmaster-rooming-selector .traveler-list li.locked-traveler {
	cursor: not-allowed;
	background-color: #ffe8e8;
}

.tourmaster-rooming-selector .traveler-lock {
	position: absolute;
	right: 5px;
	top: 50%;
	transform: translateY(-50%);
	color: #d32f2f;
}

.tourmaster-rooming-selector .traveler-list li.current-order {
background-color: #d8f6ff;
}

.tourmaster-rooming-selector .traveler-list li.current-order:hover {
background-color: #a7e9fd;
}

.tourmaster-rooming-selector .traveler-ghost {
	opacity: 0.5;
	background: #c8ebfb !important;
}

.tourmaster-rooming-note {
	padding: 10px;
	background-color: #f5f5f5;
	border: 1px solid #ddd;
	border-radius: 4px;
	margin-bottom: 10px;
	font-size: 12px;
	display: flex;
	&.room-capacity {
		background-color: #e0f4f5;
		border-color: #a7e9fd;
	}
	&.error-rooming {
		display: none;
		background-color: #f7cfcc;
		border-color: #dba9a6;
	}
	p {
		margin: 0;
		flex: 1;
	}
	.dashicons {
		margin-right: 10px;
		opacity: 0.6;
	}
}
.tourmaster-register-form {
	border: 1px solid #eee;
  border-radius: 16px;
	padding: 15px;
	max-width: 920px;
	margin: 0 auto;
}
.tourmaster-register-submit {
	border-radius: 8px !important;
}
.tourmaster-tail {
	input {
		background: #fff !important;
		border: 1px solid #ccc !important;
		border-radius: 8px !important;
		padding: 8px !important;
		transition: all 0.3s ease !important;
		height: 42px !important;
		color: #202020 !important;
		&.iti__tel-input {
			padding-left: 85px !important;
		}
		&:focus {
			border-color: #da3f50 !important;
		}
	}
	textarea {
		width: 100%;
		background: #fff !important;
		border: 1px solid #ccc !important;
		border-radius: 8px !important;
		padding: 8px !important;
		color: #202020 !important;
	}
	select {
		width: 100%;
		background: #fff !important;
		border: 1px solid #ccc !important;
		border-radius: 8px !important;
		padding: 8px !important;
		height: 42px !important;
		color: #202020 !important;
		transition: all 0.3s ease !important;
		&:focus {
			border-color: #da3f50 !important;
		}
	}
	.tourmaster-combobox-wrap {
		max-width: 100% !important;
	}
}
.tourmaster-head {
	font-weight: 600 !important;
	font-size: 16px !important;
	margin-bottom: 5px !important;
	color: #202020 !important;
}

input[type="checkbox"] {
	width: 18px;
	height: 18px;
	background: #fff;
	border: 1px solid #bbb;
	border-radius: 4px;
	appearance: none;
	transition: all 0.3s ease;
	position: relative;
	&::after {
		content: "";
    position: absolute;
    display: none;
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
	}
	&:checked {
		background: #da3f50;
		border-color: #da3f50;
		animation: checkboxPop 0.3s ease;
		&::after {
			display: block;
			animation: checkmarkPop 0.3s ease;
		}
	}
}
@keyframes checkboxPop {
	0% {
			transform: scale(1);
	}
	50% {
			transform: scale(1.2);
	}
	100% {
			transform: scale(1);
	}
}

@keyframes checkmarkPop {
	0% {
			transform: rotate(45deg) scale(0);
	}
	50% {
			transform: rotate(45deg) scale(1.2);
	}
	100% {
			transform: rotate(45deg) scale(1);
	}
}

/* checkout form */

#text-13 .gdlr-core-widget-box-shortcode  {
	border-radius: 13px;
}
.tourmaster-tour-payment-content .tourmaster-form-field {
	border-color: #eee;;
	box-shadow: none !important;
}
.tourmaster-tour-booking-bar-coupon-wrap input[type="text"].tourmaster-tour-booking-bar-coupon {
	border: 1px solid #ccc !important;
	border-radius: 8px !important;
	transition: all 0.3s ease !important;
	color: #202020 !important;
	&:focus {
		border-color: #da3f50 !important;
	}
}
body.tourmaster-template-payment a.tourmaster-button,
.tourmaster-tour-booking-bar-summary a.tourmaster-tour-booking-bar-coupon-validate {
	transition: background-color 0.3s ease;
	will-change: background-color;
	&:hover {
		background-color: #c23846;
	}
}

/* Step 3: Accommodations Styles */
.accommodations-evaluation {
	text-align: center;
}

.accommodations-slider-container {
	position: relative;
	max-width: 500px;
	margin: 0 auto;
}

.accommodations-slider {
	position: relative;
	overflow: hidden;
}

.accommodation-slide {
	display: none;
	animation: fadeIn 0.3s ease-in-out;
}

.accommodation-slide.active {
	display: block;
}

@keyframes fadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

.accommodation-info {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 30px;
}

.accommodation-image-container {
	display: flex;
	align-items: center;
	justify-content: center;
}

.accommodation-image {
	width: 150px;
	height: 100px;
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 15px;
	position: relative;
}

.accommodation-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.accommodation-image .no-image {
	width: 100%;
	height: 100%;
	background: #f5f5f5;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #999;
	font-size: 24px;
}

.accommodation-details {
	text-align: center;
}

.accommodation-name {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 8px;
	color: #333;
}

.accommodation-days,
.accommodation-location {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	font-size: 14px;
	color: #666;
	margin-bottom: 5px;
}

.accommodation-days i,
.accommodation-location i {
	font-size: 12px;
}

.accommodation-rating-section {
	margin-bottom: 25px;
}

.accommodation-suggestions {
	margin-bottom: 30px;
}

.accommodation-suggestions label {
	display: block;
	font-weight: 500;
	margin-bottom: 10px;
	color: #333;
	font-size: 16px;
	text-align: left;
}

.accommodation-suggestions textarea {
	width: 100%;
	height: 60px;
	min-height: 60px;
	max-height: 120px;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 8px;
	font-size: 14px;
	resize: vertical;
	border: 1px solid transparent;
	line-height: 1.4;
}

.accommodation-suggestions textarea:focus {
	outline: none;
	border-color: #da3f50;
}

.slider-navigation {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-top: 20px;
}

.slider-btn {
	background: #f5f5f5;
	border: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background-color 0.3s ease;
	color: #666;
}

.slider-arrow {
    background: transparent !important;
    border: none;
    cursor: pointer;
    padding: 6px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
    min-width: 36px;
    min-height: 36px;
    box-shadow: none;
}

.slider-arrow:hover {
    background: #f2f2f2 !important; /* Gris muy claro */
}

.slider-arrow i {
    font-size: 22px;
    color: #222;
    line-height: 1;
}

.slider-btn:hover {
	background: #e0e0e0;
}

.slider-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.slider-btn:disabled:hover {
	background: #f5f5f5;
}

.slider-dots {
	display: flex;
	gap: 8px;
}

.slider-dots-container {
	display: flex;
	justify-content: center;
	align-items: center;
}

.slider-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #ddd;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.slider-dot.active {
	background: #da3f50;
}

.no-accommodations {
	text-align: center;
	color: #666;
	font-style: italic;
	padding: 40px 20px;
}

/* Huakai Theme - Accommodations gradient borders */
body.huakai-theme .accommodation-slide .rating-circle.selected {
	border: 2px solid transparent;
	background: linear-gradient(white, white) padding-box, 
	            linear-gradient(to right, #ff4e47, #4b2795) border-box;
}

/* Huna Theme - Accommodations gradient borders */
body.huna-theme .accommodation-slide .rating-circle.selected {
	border: 2px solid transparent;
	background: linear-gradient(white, white) padding-box, 
	            linear-gradient(to right, #05e37d, #385487) border-box;
}

/* Mobile Styles for Accommodations */
@media (max-width: 768px) {
	.accommodation-image {
		width: 120px;
		height: 80px;
	}
	
	.accommodation-name {
		font-size: 16px;
	}
	
	.accommodation-days,
	.accommodation-location {
		font-size: 13px;
	}
	
	.slider-navigation {
		gap: 15px;
	}
	
	.slider-btn {
		width: 35px;
		height: 35px;
	}
}

/* Step 4: Activities Styles */
.activities-evaluation {
	text-align: center;
}

.activities-slider-container {
	position: relative;
	max-width: 500px;
	margin: 0 auto;
}

.activities-slider {
	position: relative;
	overflow: hidden;
}

.activity-slide {
	display: none;
	animation: fadeIn 0.3s ease-in-out;
}

.activity-slide.active {
	display: block;
}

.activity-info {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 30px;
}

.activity-image-container {
	display: flex;
	align-items: center;
	justify-content: center;
}

.activity-image {
	width: 150px;
	height: 100px;
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 15px;
	position: relative;
}

.activity-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.activity-image .no-image {
	width: 100%;
	height: 100%;
	background: #f5f5f5;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #999;
	font-size: 24px;
}

.activity-details {
	text-align: center;
}

.activity-name {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 8px;
	color: #333;
}

.activity-location {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	font-size: 14px;
	color: #666;
	margin-bottom: 5px;
}

.activity-location i {
	font-size: 12px;
}

.activity-rating-section {
	margin-bottom: 25px;
}

.activity-suggestions {
	margin-bottom: 20px;
}

.activity-suggestions label {
	display: block;
	font-weight: 500;
	margin-bottom: 10px;
	color: #333;
	font-size: 16px;
	text-align: left;
}

.activity-suggestions textarea {
	width: 100%;
	height: 60px;
	min-height: 60px;
	max-height: 120px;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 8px;
	font-size: 14px;
	resize: vertical;
	border: 1px solid transparent;
	line-height: 1.4;
}

.activity-suggestions textarea:focus {
	outline: none;
	border-color: #da3f50;
}

.no-activities {
	text-align: center;
	color: #666;
	font-style: italic;
	padding: 40px 20px;
}

/* Huakai Theme - Activities gradient borders */
body.huakai-theme .activity-slide .rating-circle.selected {
	border: 2px solid transparent;
	background: linear-gradient(white, white) padding-box, 
	            linear-gradient(to right, #ff4e47, #4b2795) border-box;
}

/* Huna Theme - Activities gradient borders */
body.huna-theme .activity-slide .rating-circle.selected {
	border: 2px solid transparent;
	background: linear-gradient(white, white) padding-box, 
	            linear-gradient(to right, #05e37d, #385487) border-box;
}

/* Mobile Styles for Activities */
@media (max-width: 768px) {
	.activity-image {
		width: 120px;
		height: 80px;
	}
	
	.activity-name {
		font-size: 16px;
	}
	
	.activity-location {
		font-size: 13px;
	}
}

/* Step 5: Overall Opinion Styles */
.overall-evaluation {
	max-width: 500px;
	margin: 0 auto;
	text-align: center;
}

.overall-email-section {
	margin-bottom: 25px;
	text-align: left;
}

.overall-email-section label {
	display: block;
	font-size: 16px;
	font-weight: 500;
	color: #333;
	margin-bottom: 10px;
}

.overall-email-section input[type="email"] {
	width: 100%;
	height: 48px;
	padding: 12px 16px;
	border: 1px solid #ddd;
	border-radius: 8px;
	font-size: 14px;
	color: #333;
	background: linear-gradient(white, white) padding-box, linear-gradient(to right, #FF5757, #652C90) border-box;
	border: 1px solid transparent;
	transition: all 0.3s ease;
}

.overall-email-section input[type="email"]:focus {
	outline: none;
	box-shadow: 0 0 5px #FF5757;
}

.overall-email-section input[type="email"]::placeholder {
	color: #999;
	font-style: italic;
}

.overall-rating-section {
	margin-bottom: 35px;
}

.overall-lead-source-section,
.overall-recommendation-section {
	margin-bottom: 25px;
}

.overall-comments-section {
	margin-bottom: 20px;
	text-align: left;
}

.overall-lead-source-section label,
.overall-recommendation-section label,
.overall-comments-section label {
	display: block;
	font-size: 16px;
	font-weight: 500;
	color: #333;
	margin-bottom: 10px;
	text-align: left;
}

.overall-evaluation .select-wrapper {
	position: relative;
	margin-bottom: 20px;
}

.overall-evaluation select,
.overall-evaluation input[type="text"] {
	width: 100%;
	height: 48px;
	padding: 12px 16px;
	border: 1px solid #ddd;
	border-radius: 8px;
	font-size: 14px;
	color: #333;
	appearance: none;
	background: white;
	cursor: pointer;
	transition: all 0.3s ease;
}

.overall-evaluation select:focus,
.overall-evaluation input[type="text"]:focus {
	outline: none;
	border-color: #da3f50;
}

.overall-evaluation .select-wrapper::after {
	content: 'â–¼';
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	color: #666;
	pointer-events: none;
	font-size: 12px;
}

.overall-evaluation textarea {
	width: 100%;
	height: 80px;
	min-height: 60px;
	max-height: 120px;
	padding: 12px;
	border: 1px solid #ddd;
	border-radius: 8px;
	font-size: 14px;
	resize: vertical;
	background: white;
	line-height: 1.5;
	font-family: inherit;
}

.overall-evaluation textarea:focus {
	outline: none;
	border-color: #da3f50;
}

/* Mobile Styles for Overall Evaluation */
@media (max-width: 768px) {
	.overall-evaluation {
		max-width: 100%;
		padding: 0 10px;
	}
	
	.overall-email-section {
		margin-bottom: 20px;
	}
	
	.overall-email-section label {
		font-size: 15px;
	}
	
	.overall-email-section input[type="email"] {
		height: 45px;
		padding: 10px 14px;
		font-size: 14px;
	}
	
	.overall-rating-section {
		margin-bottom: 30px;
	}
	
	.overall-lead-source-section,
	.overall-recommendation-section {
		margin-bottom: 20px;
	}
	
	.overall-lead-source-section label,
	.overall-recommendation-section label,
	.overall-comments-section label {
		font-size: 15px;
	}
	
	.accommodation-suggestions label,
	.activity-suggestions label,
	.rating-question {
		font-size: 15px;
	}
	
	.overall-evaluation select {
		height: 45px;
		padding: 10px 14px;
		font-size: 14px;
	}
	
	.overall-comments-section textarea {
		font-size: 14px;
		padding: 10px;
	}
}