/*
*  MYBOOKING RESERVATION ENGINE - COMPONENTS
*  -----------------------------------------------------------------------------
*/

.disabled-picker {
    opacity: 0.7;
    pointer-events: none;
}

/** CHOOSE PRODUCT **/

/* Turn form */
.mybooking-choose-product_duration-form {
  display: inline-block;
}

/* Variants */
.card-static_variant_resume__container {
  display: flex !important; 
  align-items: center !important;  
  justify-content: space-between !important; 
}
.card-static_variant_resume__container_inside {
  margin-top: -3px;
  display: flex;
}
.card-static_variant_resume__box {
  margin-right: 0.2rem; 
  border-radius: 2px; 
  border: 1px solid lightgray; 
  font-size: 12px;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.card-static_variant_resume__box_inside {
  display: inline-block;  
  padding: 2px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  max-width: 60px;
}
.card-static_variant_resume__box_inside:last-child {
  background-color: white !important;
}

/** SUMMARY DETAILS **/

/* Summary header */
.mybooking-summary_header {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
} @media ( max-width: 758px ) {
  .mybooking-summary_header {
    flex-direction: column;
    align-items: flex-start;
  }
}
.mybooking-sidebar:not(.mb-col-center) .mybooking-summary_header {
  flex-direction: column;
  align-items: flex-start;
}

.mybooking-sidebar:not(.mb-col-center) .mybooking-summary_locator {
  align-items: flex-start;
}

.mybooking-sidebar:not(.mb-col-center) .mybooking-summary_locator-id {
  margin-left: 0;
}

.mybooking-summary_details-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1em;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
  width: 100%;
}

.mybooking-summary_edit .dashicons {
  margin-right: 0.5rem;
}

.mybooking-summary_edit {
  display: flex;
  font-size: .9em;
  font-weight: 700;
  cursor: pointer;
}

.mybooking-summary_edit .dashicons-trash {
  color: var(--mb-danger-color);
}

.mybooking-summary_edit:hover {
  opacity: 0.5;
}

.mybooking-summary_locator {
  font-size: 0.7rem;
  text-transform: uppercase;
  line-height: 1.2;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  color: var(--mb-muted-color);
  white-space: nowrap;
}

.mybooking-summary_locator-id {
  margin-left: 0.3rem;
  color: var(--mb-summary-locator-color);
  font-size: 1.6rem;
  font-weight: 700;
}

.mybooking-summary_status {
  background-color: var(--mb-light-color);
  padding: .75rem 1.25rem!important;
  margin-bottom: 1rem;
  color: var(--mb-accent-color);
  font-size: 1.4em;
  text-align: center;
  line-height: 1.1;
  border-radius: var(--mb-border-radius);
}

/* Summary data */

.mybooking-summary_detail {
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: 1rem 0.5rem;
  background-color: var(--mb-product-detail-bg);
  border-top: 1px solid var(--mb-product-detail-border);
  border-bottom: 1px solid var(--mb-product-detail-border);
  color: var(--mb-product-detail-color);
} @media ( min-width: 576.98px ) {
  .mybooking-summary_detail {
    justify-content: space-between;
    flex-flow: row;
  }
}

.mybooking-sidebar .mybooking-summary_detail {
  flex-flow: column;
  align-items: flex-start;
}

.mybooking-summary_item {
  display: flex;
  flex-flow: column;
  font-size: 1em;
  line-height: 1.2em;
}

@media ( min-width: 576.98px ) {
  .mybooking-summary_item:last-of-type {
    text-align: right;
  }
}

[class*="mb-col-"] .mybooking-summary_item {
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
}

[class*="mb-col-"] .mybooking-summary_item:last-of-type {
  margin-bottom: 0;
}

[class*="mb-col-"] .mybooking-summary_place {
    margin: 0;
}

.mybooking-summary_date {
  font-weight: bold;
  display: inline-block;
} @media ( min-width: 575.98px ) {
  .mybooking-summary_date {
    margin-bottom: 0.5rem;
  }
}

.mybooking-summary_duration {
  text-transform: uppercase;
  font-weight: bold;
}

.mybooking-summary_seats {
  display: flex;
  width: 100%;
  justify-content: space-between;
  border-top: 1px solid var(--mb-border-color);
  padding-top: 0.5rem;
  margin-top: 0.5rem;
}

.mybooking-summary_seat-item {
  font-weight: 800;
}

/* Summary extras */

.mybooking-summary_extras {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/*
.mybooking-summary_extras {
  font-size: 1rem;
}
*/
.mybooking-summary_extra-quantity {
  margin-right: 1rem;
}

.mybooking-summary_extra-name {
  font-size: inherit;
}

.mybooking-summary_extra-amount {
  font-weight: 600;
  font-size: inherit;
}

.mybooking-summary_price {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}

.mybooking-summary_price .mybooking-product_price {
  display: flex;
  flex-direction: column;
  text-align: right;
  flex-basis: auto;
}

.mybooking-summary_price .mybooking-product_taxes {
  margin-top: 0.5rem;
}

.mybooking-summary_price .mybooking-product_discount .mybooking-product_price {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.3rem;
}

.mybooking-summary_deposit {
  border-top: 2px solid white;
}

.mybooking-summary_price,
.mybooking-summary_deposit,
.mybooking-summary_deposit-total {
  padding: 0.5rem;
  font-size: 1em;
  font-weight: 700;
}

.mybooking-summary_deposit,
.mybooking-summary_deposit-pretotal,
.mybooking-summary_deposit-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: right;
}

.mybooking-summary_deposit .mybooking-summary_extra-name,
.mybooking-summary_deposit-pretotal .mybooking-summary_extra-name,
.mybooking-summary_deposit-total .mybooking-summary_extra-name {
  text-align: left;
}

.mybooking-summary_price,
.mybooking-summary_deposit {
  background-color: var(--mb-light-color);
}
.mybooking-summary_deposit-pretotal {
}

.mybooking-summary_deposit-total {
  padding: 1.5rem 1rem;
  border: 1px solid var(--mb-product-total-border);
  border-radius: var(--mb-border-radius);
  margin-top: 0.5rem;
}

/* Summary total */
.mybooking-summary_total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.5rem;
  padding: 1rem;
  border: 1px solid var(--mb-product-total-border);
  border-radius: var(--mb-border-radius);
  background-color: var(--mb-product-total-bg);
  color: var(--mb-product-total-color);
  margin-top: 0.5rem;
}

.mybooking-summary_total-label {
  font-size: 1.3em;
  font-weight: 700;
} @media ( max-width: 575.98px ) {
  .mybooking-summary_total-label {
    font-size: 1em;
  }
}

.mybooking-summary_total-amount {
  font-size: var(--mb-product-total-amount-size);
  font-weight: 900;
  color: var(--mb-product-total-amount-color);
}


/** EXTRAS & COVERAGES **/

.mybooking-extra_container {
  border: 1px solid var(--mb-border-color);
  border-radius: var(--mb-border-radius);
  background-color: #fff;
}

.mybooking-extra_item {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  padding: 1rem 0;
  border-bottom: 1px solid var(--mb-border-color);
  text-align: center;
} @media ( min-width: 575.98px ) {
  .mybooking-extra_item {
    padding: 0;
  }
} @media ( min-width: 991.98px ) {
  .mybooking-extra_item {
    flex-flow: row;
    text-align: left;
  }
}

.mybooking-extra_box-img .extra-img {
  width: 100%;
  max-width: 100px;
}

.mybooking-extra_item:last-of-type {
  border-bottom: none;
}

.mybooking-extra_item [class*="mb-col-"] {
  padding: 0.3rem 1rem;
  text-align: center;
} @media ( min-width: 575.98px ) {
  .mybooking-extra_item [class*="mb-col-"] {
    padding: 1rem;
    text-align: left;
  }
}

/* Tablet settings */
@media (min-width: 575.98px ) {
  .mybooking-extra_block {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%!important;
  }
  .mybooking-extra_block:last-of-type {
    border-top: 1px solid var(--mb-border-color);
  }
}

@media (min-width: 991.98px ) {
  .mybooking-extra_block:first-of-type {
    flex-basis: 190%!important;
  }
  .mybooking-extra_block:last-of-type {
    border-top: none;
  }
}
/*  End tablet settings*/

.mybooking-extra_img {
  max-width: 100px!important;
  margin: 0 auto 0.5rem auto;
} @media ( min-width: 575.98px ) {
  .mybooking-extra_img {
    max-width: 50px!important;
    margin-bottom: 0;
  }
}

.mybooking-extra_name {
  font-size: 1em;
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 0.5rem;
}

.mybooking-extra_description {
  line-height: 1;
  --extra-description-height: 150px; 

  display: block;
  max-height: var(--extra-description-height);
  overflow: hidden;
  position: relative;
  font-weight: 400;
  margin-bottom: 10px;
}

.mybooking-extra_description-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  box-shadow: inset 0px -20px 20px -10px #FFF;
  z-index: 2;
}
#extras_listing .mybooking-extra_description {
  max-height: 4rem;
  overflow: hidden;
  position: relative;
}
#extras_listing .mybooking-extra_description-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4rem;
  box-shadow: inset 0px -20px 20px -10px #FFF; 
  z-index: 2;
}

.mybooking-extra_info-btn {
  cursor: pointer;
  font-size: 0.8rem;
}

.mybooking-extra_info-btn .dashicons, .dashicons-before:before {
  font-size: 0.8rem;
  position: relative;
  top: 0.4rem;
}

.mybooking-extra_description p {
  margin-bottom: 0.5rem;
  line-height: 1.2;
  font-size: 0.8em;
}

.mybooking-extra_description br {
  display: none;
}

.mybooking-extra_price {
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-weight: 700;
  text-align: center;
} @media ( min-width: 575.98px ) {
  .mybooking-extra_price {
    text-align: left;
  }
}

.mybooking-extra_price .extra-unitary {
  font-size: 0.9em;
  line-height: 1
}

.mybooking-extra_price .extra-total {
  font-size: 0.8em;
  font-weight: 400;
}

.mybooking-extra_box-control {
  display: flex;
  justify-content: center;
} @media ( min-width: 575.98px ) {
  .mybooking-extra_box-control {
    justify-content: flex-end;
  }
}

.mybooking-extra_control {
  display: flex;
  justify-content: flex-end;
  gap: 0;
}

.mybooking-extra_control .mb-custom-label,
.mybooking-extra_price input[type="checkbox"] + label {
  margin: 0!important;
  padding: 0!important;
}

.mybooking-extra_control .mb-button {
  display: inline-block;
  padding: 0.6rem;
  line-height: 1em;
  margin: 0;
  text-align: center;
} @media ( min-width: 575.98px ) {
  .mybooking-extra_control .mb-button {
    font-size: 0.8rem;
    padding: 0;
  }
}


.mybooking-extra_control .mb-button.btn-minus-extra {
  border-radius: var(--mb-border-radius) 0 0 var(--mb-border-radius)!important;
  padding: 0.5rem!important;
}

.mybooking-extra_control .mb-button.btn-plus-extra {
  border-radius: 0 var(--mb-border-radius) var(--mb-border-radius) 0!important;
  padding: 0.5rem!important;
}

.mybooking-extra_control .mb-input {
  display: inline-block;
  max-width: 3rem;
  text-align: center;
  padding: 3px!important;
  margin: 0;
  min-width: 1.5rem;
  font-size: 1em;
  border-radius: 0!important;
} @media ( min-width: 575.98px ) {
  .mybooking-extra_control .mb-input {
    font-size: 0.8rem!important; 
    height: auto!important;
  }
}


/** PAYMENT BLOCK **/

.btn-confirm-reservation {
  width: 100%;
  margin: 2rem 0;
  background-color: accentcolor;
  background-color: var(--mb-info-color);
  letter-spacing: 1px;
  font-size: 1.3em;
} @media ( min-width: 575.98px ) {
  .btn-confirm-reservation {
    width: auto;
    margin: 0;
    font-size: 1em;
  }
}

.btn-confirm-reservation i {
  margin-left: 0.5rem;
}

/* Payment options */

.mybooking-payment_options {

} @media ( min-width: 575.98px ) {
  .mybooking-payment_options {

  }
}

.mybooking-payment_option-label {
  width: 100%;
  padding: 1rem;
  background-color: var(--mb-payment-option-btn-bg);
  color: var(--mb-payment-option-btn-color)!important;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
}

.mybooking-payment_option-label:hover,
.mybooking-payment_option-label:active,
.mybooking-payment_option-label:focus {
  background-color: #666;
  color: var(--mb-payment-option-btn-color);
}

.mybooking-payment_option-input {
  position: absolute!important;
  clip: rect(0 0 0 0)!important;
  clip-path: inset(50%)!important;
  width: 1px!important;
  height: 1px!important;
  overflow: hidden!important;
  white-space: nowrap!important;
}

.mybooking-payment_button-pay {
  background-color: var(--mb-payment-option-btn-bg);
  color: var(--mb-payment-option-btn-color)!important;
}

/* Payment confirmation */

.mybooking-payment_confirmation-box {
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  width: 100%;
  padding-top: 1rem;
  margin-bottom: 1rem;
  border-top: 1px solid var(--mb-border-color);
} @media ( min-width: 575.98px ) {
  .mybooking-payment_confirmation-box {
    flex-flow: row;
    flex-wrap: wrap;
  }
}

.mybooking-payment_amount {
  font-size: 2em;
  font-weight: 700;
  text-align: center;
  margin-bottom: 2rem;
} @media ( min-width: 575.98px ) {
  .mybooking-payment_amount {
    font-size: 2.3em;
  }
}

.mybooking-payment_custom-label {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.2rem;
  margin: 0 !important;
  font-weight: 600;
  text-align: center;
  cursor: pointer;
  font-size: 0.7rem;
  width: 100%;
} @media ( min-width: 575.98px ) {
  .mybooking-payment_custom-label {
    margin: 1rem 2rem 2rem;
    font-size: 0.9rem;
  }
}

.mybooking-payment_custom-label:hover {
  opacity: 0.5;
}

.mb-form-row label.form-reservation-error, .mb-form-row span.form-reservation-error{
  color: #EC8396;
  font-weight: bolder;
  /*font-size: 1rem !important;*/
  line-height: normal;
  display: inline-block;
  /*padding: 5px 0; */
}

.mybooking select.form-reservation-error,
.mybooking input[type=*].form-reservation-error {
  background-color: #EC8396!important;
  color: white!important;
}

.mybooking-selector form input.form-reservation-error::placeholder {
  color: white!important;
}


/** My reservation form **/
form[name=booking_information_form] input:disabled,
form[name=booking_information_form] select:disabled {
  background-color: #f9f9f9;
  color: #999;
}


/** ACTIVITIES **/

.mybooking-activity img.mybooking-activity_image {
  max-width: 100%;
}

.mybooking-activity_header {
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  border-bottom: 1px solid var(--mb-border-color);
} @media ( min-width: 575.98px ) {
  .mybooking-activity_header {
    flex-flow: row;
  }
}

.mybooking-activity_title {
  margin: 0;
}

.mybooking-product_amount {
  line-height: 4rem;
}

.mybooking-activity_image {
  margin-bottom: 1rem;
  border-radius: 0;
}

.mybooking-activity_description {
  margin-bottom: 2rem;
}

.mybooking-activity_detail {
  padding: 1rem 0;
  border-bottom: 1px solid var(--mb-border-color);
}

.mybooking-activity_detail:last-of-type {
  border-bottom: none;
}

.mybooking-activity_detail-name {
  font-size: 1.2rem;
  font-weight: 700;
}

/* Calendar */
.mybooking-activity_calendar-title {
  font-size: 1.6em;
  margin: 1rem 0;
}

/* Reservation form */
.mybooking-activity_turns .mb-form-group {
  display: flex;
  flex-flow: row;
  flex-wrap: wrap;
  gap: 10px;
}

.mb-form-check {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
}

.mybooking-activity_turns .mb-form-check {
  display: flex;
  flex-flow: column;
  justify-content: center;
  padding: 0.5rem;
  background-color: var(--mb-background-color);
  border: 1px solid var(--mb-border-color);
  align-items: center;
  text-align: center;
  flex-basis: 30%;
}

.mybooking-activity_turns .mb-form-check .mb-form-check-label {
  margin-bottom: 0 !important;
}

.mybooking-activity_turns .mb-form-check .mb-form-check-input {
  box-shadow: none;
  margin: 0 auto;
}

.mb-form_title {
  display: block;
}

/* Complete details */
.mybooking-activity_date {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  font-weight: 700;
}

/** Compatibility with zakra theme **/
.mybooking-activity-carousel-inner,
.mybooking-product-carousel-inner {
  max-width:  800px;
}

.mybooking-summary_activities,
.mybooking-summary_activities-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.mybooking-summary_activity-item {
  padding: 0.5rem;
}

.mybooking-summary_activity-quantity {
  margin-right: 1rem;
}

.mybooking-summary_activities-total {
  margin: 1rem 0;
  padding-top: 1rem;
  border-top: 1px solid var(--mb-border-color);
}

.mybooking-summary_activities-total--notborder {
  border-top: none;
  padding-top: 0;
}

.mybooking-summary_activity-total-label,
.mybooking-summary_activity-total-amount {
  font-size: 1.3rem;
  font-weight: 700;
}

/** TESTIMONIALS **/

.mybooking-testimonial_container {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: 100%;
  margin: 2rem 0;
} @media ( min-width: 575.98px ) {
  .mybooking-testimonial_container {
    flex-direction: row;
  }
}

.mybooking-testimonial_content {
  width: 100%;
} @media ( min-width: 575.98px ) {
  .mybooking-testimonial_content {
    width: 90%;
  }
}

.mybooking-testimonial_avatar {
  display: flex;
  justify-content: center;
  width: 100%;
} @media ( min-width: 575.98px ) {
  .mybooking-testimonial_avatar {
    justify-content: flex-start;
    width: 10%;
  }
}

.mybooking-testimonial_avatar img {
  --mb-testimonial-avatar-dimensions: 80px;
  width: var(--mb-testimonial-avatar-dimensions);
  height: auto;
}


.mybooking-testimonial_text {
  font-size: 1.3em;
  font-weight: 300;
  font-style: italic;
  line-height: 1.3;
  text-align: center;
} @media ( min-width: 575.98px ) {
  .mybooking-testimonial_text {
    text-align: left;
  }
}

.mybooking-testimonial_text p {
  margin: 0;
}

.mybooking-testimonial_name {
  margin-top: 1rem;
  text-align: center;
} @media ( min-width: 575.98px ) {
  .mybooking-testimonial_name {
    text-align: left;
  }
}

.mybooking-testimonial_name:before {
  content: "—";
  margin-right: 1rem;
}


/** POPUP **/

.mybooking-popup_backdrop {
  position: fixed;
  top: 0;
  bottom: 0;
	width: 100vw;
  background-color: rgba( 0, 0, 0, 0.7 );
	display: table;
  z-index: 999999;
}

.mybooking-popup_box {
	width: 100vw;
	height: 100vh;
	display: table-cell;
	vertical-align: middle;
}

.mybooking-popup {
	width: var(--mb-popup-width-mobile);
	height: var(--mb-popup-height-mobile);
	overflow: auto;
	border-radius: 3px;
	margin: 0 auto;
} @media ( min-width: 992px ) {
	.mybooking-popup {
		width: var(--mb-popup-width-desk);
		height: var(--mb-popup-height-desk);
	}
}

.mybooking-popup_content {
	position: relative;
	padding: 2rem;
	border: none;
	border-radius: 0;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	background-color: var(--mb-popup-background);
}

button.mybooking-popup_close {
	display: inline-block;
  color: var(--mb-popup-close-btn-color);
  font-size: var(--mb-popup-close-btn-size);
  padding: 1rem!important;
  margin:  0;
  background: transparent!important;
  box-shadow: none!important;
  border: none!important;
  cursor: pointer;
  position: absolute;
	top: 0!important;
	right: 0!important;
  opacity: 60%;
  z-index: 45;
  outline: none!important;
  line-height: 1!important;
}
button.mybooking-popup_close:hover {
  color: initial!important;
  opacity: 100%;
}


/** SEARCH **/

.mybooking-search {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.mybooking-search_button {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 0.5rem;
  height: var(--mb-form-field-height);
  width: 100%;
  font-size: 18px !important;
  font-weight: 700;
  line-height: 1 !important;
  letter-spacing: 1px;
} @media ( min-width: 575.98px ) {
  .mybooking-search_button {
    width: auto;
    padding: 0 1.5rem;
  }
}

/** COOKIES NOTICE **/

.mybooking-cookies {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  z-index: 99999999;
}

.mybooking-cookies_container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  padding: 1rem 3rem;
  border: 1px solid var(--mb-border-color);
  background-color: var(--mb-cookies-background);
  box-shadow: 0 0 20px var(--mb-border-color);
  z-index: 9999999999;
}

.mybooking-cookies_button {
  word-break: normal;
  padding: 0.5rem 1rem;
  color: var(--mb-cookies-btn-color);
  background-color: var(--mb-cookies-btn-background);
} @media ( min-width: 992px ) {
  .mybooking-cookies_button {
    margin-top: 1rem;
  }
}

.mybooking-cookies_text {
  margin: 0;
  font-size: 16px;
  line-height: 1.2;
  text-align: left;
  color: var(--mb-cookies-color);
}

.mybooking-cookies_text a,
.mybooking-cookies_text a:link,
.mybooking-cookies_text a:visited,
.mybooking-cookies_text a:hover,
.mybooking-cookies_text a:active,
.mybooking-cookies_link {
  color: var(--mb-cookies-color)!important;
}
.mybooking-cookies_text a:hover {
  opacity: 0.8;
}


/** PRODUCT SLIDER **/

.mybooking-slider_item {}

.mybooking-slider_product-image {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

.mybooking-slider_info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  gap: 1rem;
  padding: 0 2rem;
}

.mybooking-slider_product-title {
  font-size: 2.5em;
  font-weight: 800;
}

.mybooking-slider_product-price {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.mybooking-slider_product-price--offer {
  font-size: 2em;
  font-weight: 800;
  color: var(--brand-primary);
  color: var(--mb-info-color);
}

.mybooking-slider_product-price--original {
  color: #999;
  font-size: 1.4em;
  font-weight: 700;
  text-decoration: line-through;
}

.mybooking-slider_product-description {
  font-size: 1.2em;
}


/** JQUERY DATEPICKER **/

fieldset,
fieldset legend {
  background-color: white!important;
}

.ui-datepicker {
  width: auto;
  max-width: 500px;
  padding: 0;
  box-shadow: 0 3px 20px #424242;
  font-family: inherit!important;
  z-index: 999999!important;
}

.ui-datepicker table {
  margin: 0;
}

.ui-datepicker td {
  padding: 0;
  box-shadow: none;
  word-break: normal;
}

.ui-datepicker th {
  background-color: white!important;
  text-transform: uppercase;
}

.ui-datepicker .ui-datepicker-header {
  position: relative;
  padding: .2em 0;
  border: 0px;
  font-weight: bold;
  width: 100%;
  padding: 4px 0;
  background-color: white;
  color: currentcolor;
}

.ui-datepicker-month,
.ui-datepicker-year {
  font-size: 1.3em;
  text-transform: uppercase;
}

.ui-datepicker td .ui-state-default {
  background: var(--mb-calendar-disabled);
  color: currentcolor!important;
  font-size: 16px;
  text-decoration: none!important;
  border-radius: 0;
}

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
  display: none;
}

.ui-datepicker-prev:before {
  content: "\f341";
  font-family: "dashicons";
  font-size: 1.5rem;
}

.ui-datepicker-next:before {
  content: "\f345";
  font-family: "dashicons";
  font-size: 1.5rem;
}

.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
  opacity: 1;
  filter: Alpha(Opacity=1);
  box-shadow: none!important;
}

.ui-datepicker td.ui-state-disabled.ui-datepicker-unselectable .ui-state-default:hover {
  background: var(--mb-calendar-booked)!important;
}

.ui-datepicker td:not(.ui-datepicker-unselectable) .ui-state-default.ui-state-active {
    background: var(--mb-calendar-checked-date)!important;
}

.ui-datepicker td:not(.ui-datepicker-unselectable) .ui-state-default {
  background: var(--mb-calendar-available)!important;
}

.ui-datepicker td:not(.ui-datepicker-unselectable) .ui-state-default:hover {
  background: var(--mb-calendar-available-hover)!important;
  color: var(--mb-negative-text-color)!important;
}

/** DATEPICKER RANGE **/

.mb-date-container-content {
  text-align: center;
}

.date-picker-wrapper {
  border: none;
  background-color: transparent;
  /*max-width: 360px;*/ /* OPTIMIZATION OF RANGE PICKER*/
  padding: 0;
  font-size: 1em;
  line-height: 20px;
  color: inherit;
  font-family: inherit;
  box-shadow: none;
}

.date-picker-wrapper .month-wrapper {
  border: none;
  border-radius: 0;
  background-color: transparent !important;
  padding: 0;
}

.date-picker-wrapper table:not(.has-background) th {
  background-color: transparent;
}

.date-picker-wrapper table .caption .next, 
.date-picker-wrapper table .caption .prev {
  font-size: 1.5rem;
  border: none!important;
}

.date-picker-wrapper table .caption .next:hover,
.date-picker-wrapper table .caption .prev:hover {

}

.date-picker-wrapper .month-element {
  font-size: 18px!important;
}

.date-picker-wrapper .month-wrapper table .week-name {
  height: 40px;
  font-size: 14px;
}

.date-picker-wrapper .month-wrapper table .day {
  padding: 1px;
  font-size: 14px;
  margin-bottom: 0;
  color: inherit;
  word-break:  normal;
  margin: 2px;
}

/* Available date */
.date-picker-wrapper .month-wrapper table .day.date-available {
  background-color: var(--mb-calendar-available);
  color: black;
}

.date-picker-wrapper .month-wrapper table .day.date-available:hover {
  background-color: var(--mb-calendar-available-hover)!important;
  color: var(--white)!important;
}

/* Not selectable date */
.date-picker-wrapper .month-wrapper table .day.invalid,
.date-picker-wrapper .month-wrapper table .day.not-selectable-day,
.date-picker-wrapper .month-wrapper table .day.invalid:hover,
.date-picker-wrapper .month-wrapper table .day.not-selectable-day:hover {
  background-color: var(--mb-calendar-disabled);
}

/* Booked date */
.date-picker-wrapper .month-wrapper table .day.busy-data,
.date-picker-wrapper .month-wrapper table .day.busy-data:hover {
  background-color: var(--mb-calendar-booked)!important;
}

.date-picker-wrapper .month-wrapper table .day.date-available.checked{
  background-color: var(--mb-calendar-checked-date)!important;
}

.date-picker-wrapper .month-wrapper table .day.date-available.first-date-selected.checked,
.date-picker-wrapper .month-wrapper table .day.date-available.last-date-selected.checked {
  background-color: var(--mb-calendar-first-last-date)!important;
}

.date-picker-wrapper .month-wrapper table .day.date-available.hovering {
    background-color: var(--mb-calendar-available-hover)!important;
    color: var(--mb-negative-text-color);
}

.date-picker-wrapper .gap {
  display: none;
}

/** JQUERY UI IN FULL SIZE CONTAINER **/
.full-size-datepicker-container {
  /* Month and year */
  /**
  * Include datepicker in full-size-datepicker-container to make it 100%
  */ 
}

.full-size-datepicker-container .ui-datepicker-month,
.full-size-datepicker-container .ui-datepicker-year {
  font-size: 2em !important;
}

.full-size-datepicker-container .ui-datepicker {
  border: 0 !important;
  border: none;
  box-shadow: none;
}

.full-size-datepicker-container .ui-datepicker,
.full-size-datepicker-container .ui-datepicker table {
  width: 100% !important;
  height: auto !important;
  margin: auto;
  border-collapse: separate;
}

.full-size-datepicker-container .ui-datepicker table th span {
  font-size: 2em !important;
}

.full-size-datepicker-container .ui-datepicker table td span,
.full-size-datepicker-container .ui-datepicker table td a {
  height: 100%;
  font-size: 2em !important;
  border-radius: var(--mb-button-border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
}

/** Phone prefix **/
form .iti {
    width: 100%;
}
.mybooking .iti__flag-container {
  max-height: 2.5rem;
}

/** SLICK JS **/

button:not(:hover):not(:active):not(.has-background).slick-prev.slick-arrow,
button:not(:hover):not(:active):not(.has-background).slick-next.slick-arrow,
.slick-dots button:not(:hover):not(:active):not(.has-background){
    background-color: transparent;
}

.slick-next.slick-arrow, .slick-prev.slick-arrow,
.slick-next.slick-arrow:hover, .slick-prev.slick-arrow:hover {
  background-color: transparent !important;
}

/** SELECT2 **/
.select2-container {
  font-size:  1rem;
}

.select2-container--default .select2-selection--single {
  height: var(--mb-selector-field-height);
  border-radius: var(--mb-border-radius) !important;
  border: 1px solid var(--mb-border-color) !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: var(--mb-selector-field-height);
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #000 transparent transparent transparent;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  height: var(--mb-selector-field-height);
  display: flex;
  align-items: center;
}

/** Date **/
.custom-date-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
}

.custom-date-form .custom-date-item {
  display: inline-block;
  width:  33.3%;
}

/** Accomodation */
form[name=reservation_form] textarea[name=destination_accommodation] {
  height: var(--mb-form-field-height);
}

/** Select fields in complete / my reservation **/
label.full-width select.mb-form-control {
  position: relative;
  top: 0.5rem;
}

/** Jquery validation **/
.mybooking label.error,
.mybooking .label.label-danger {
  color: var(--mb-danger-color) !important;
}
/* .mybooking input[required],
.mybooking select[required] {
  border: 1px solid var(--mb-form-field-required-border-color) !important;
} */
.mybooking input.error,
.mybooking select.error,
.mybooking input.is-invalid,
.mybooking select.is-invalid {
  border: 1px solid var(--mb-danger-color) !important;
}


/*
*
* Booking item
*
*/
/*
* Jquery validation 
*/
.mybooking-products_table {
  padding: 0 !important;
  margin: 0 -0.2rem;
} @media ( min-width: 575.98px ) {
  .mybooking-products_table {
    padding: 0 0.15rem !important;
    margin: 0;
  }
}

.mybooking-products_table .mb-row {
  padding: 1rem 0;
}

.mybooking-products_table .mybooking-products_table-head,
.mybooking-products_table .mybooking-products_table-body .mb-row {
  background-color: var(--white);
  align-items: center;
  justify-content: space-between;
  border-radius: var(--mb-border-radius);
  display: flex;
  flex-direction: column;
} @media ( min-width: 575.98px ) {
  .mybooking-products_table .mybooking-products_table-head,
  .mybooking-products_table .mybooking-products_table-body .mb-row {
    flex-direction: row;
  }
}

.mybooking-products_table .mybooking-products_table-head {
  background-color: var(--mb-dark-background-color);
  color: var(--mb-negative-text-color);
  margin: 1rem;
  padding: 0;
}

.mybooking-products_table .mybooking-products_table-body .mb-row:not(:last-child) {
  margin-bottom: 1rem;
}

.mybooking-products_table  [class*='mb-col'] {
  padding: 0 1rem;
}

.mybooking-products_table .mybooking-product_image {
  max-width: 100%;
  margin: auto;
  display: block;
}

.mybooking-products_table  .mybooking-summary_extra-name {
  padding: 0;
}

.mybooking-products_table .mybooking-product_name,
.mybooking-products_table .mybooking-product_description {
  margin-top: 1rem;
  margin: 0.5rem 0 !important;
  
} @media ( min-width: 575.98px ) {
  .mybooking-products_table .mybooking-product_name,
  .mybooking-products_table .mybooking-product_description {
    margin: 0 !important;
  }
}

.mybooking-products_table .mybooking-product_name {
  margin-top: 1rem !important;
} @media ( min-width: 575.98px ) {
  .mybooking-products_table .mybooking-product_name {
    margin-top: 0 !important;
  }
}

.mybooking-products_table .mybooking-product_name,
.mybooking-products_table .mybooking-product_description {
  font-size: 1rem!important;
}

.mybooking-products_table .mybooking-product_description {
  font-size: 0.8rem!important;
  margin-bottom: 0;
}

.mybooking-summary_extra-amount {
  margin: 0.5rem 0;
  display: block;
}

.mybooking-products_table .mybooking-summary_price {
  background-color: transparent!important;
  padding: 0;
  display: block;
}

.mybooking-products_table .mybooking-product_price {
  text-align: left;
  align-items: flex-start;
}

.mybooking-products_table .mybooking-product_price:first-child {
  flex-direction: row !important;
}

/* STEPS ***********************************************************************/
.mb--steps-wrapper {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  flex-wrap: wrap;
  list-style-type: none;
  margin: 0;
  padding-left: 0 !important;
}
.mb--steps-wrapper .mb--step {
  background-color: var(--mb-light-color);
  color: var(--mb-dark-color);
  font-weight: 500;
  font-size: 1rem;
  border-radius: var(--mb-border-radius);
  position: relative;
  width: 100%;
  padding: 0.3rem 0.5rem;
  border: 1px solid var(--mb-muted-color);
} @media ( min-width: 992px ) {
  .mb--steps-wrapper .mb--step {
    width: auto;
  }
}
.mb--steps-wrapper .mb--step a {
  color: inherit !important;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0.5rem 1rem;
  vertical-align: middle;
}
.mb--steps-wrapper .mb--step.mb--disabled,
.mb--steps-wrapper .mb--step.mb--disabled a {
  cursor: not-allowed;
}
.mb--steps-wrapper .mb--step.mb--active {
  background-color: var(--mb-info-color);
  color: var(--mb-negative-text-color);
}
.mb--steps-wrapper .mb--step.mb--disabled {
  color: var(--mb-muted-color);
}
.mb--steps-wrapper .mb--step.mb--completed {
  background-color: var(--mb-success-color);
  color: var(--mb-negative-text-color);
  padding-right: 1.5rem;
}
.mb--steps-wrapper .mb--step.mb--completed:after {
  content: "\f12a";
  font-family: "dashicons";
  font-size: 1.5rem;
  position: absolute;
  right: 0.5rem;
  top: 50%;
  margin-top: -1.2rem;
}
.mb--steps-wrapper .mb--step-number {
  font-weight: 700;
  margin-right: 0.5rem;
}
.mb--steps-wrapper .mb--step a#btn_payment_detail {
  color: var(--mb-accent-color) !important;
}
.mb--step-container {
  display: none;
}
.mb--step-container.mb--active {
  display: block;
}