.mwb-mbfw-cart-page-data {
  width: 100%;
}

.mwb-mbfw-cart-page-data input[type=number] {
  text-align: center;
}

.mwb-mbfw-cart-page-data input:focus {
  outline: none;
}

.mbfw-date-picker-section__wrapper {
  margin-bottom: 20px;
}

.mbfw-date-picker-section {
  flex: 0 0 100%;
  max-width: 150px;
}

.mbfw-date-picker-section input {
  width: 100%;
  text-align: center;
}

.mbfw-date-picker-section input::-moz-placeholder {
  text-transform: capitalize;
  letter-spacing: 1.2px;
}

.mbfw-date-picker-section input:-ms-input-placeholder {
  text-transform: capitalize;
  letter-spacing: 1.2px;
}

.mbfw-date-picker-section input::placeholder {
  text-transform: capitalize;
  letter-spacing: 1.2px;
}

.mbfw-date-picker-section label {
  display: block;
}

.mwb_mbfw_included_service_title {
  margin: 10px 0;
  font-weight: 600;
}

.mwb_mbfw_detail-listing-wrap {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.mbfw-additionl-detail-listing-section__wrapper {
  margin-bottom: 12px;
}

.mbfw-additionl-detail-listing-section {
  flex: 0 0 100%;
  max-width: 33%;
  display: flex;
  align-items: center;
}

.mbfw-additionl-detail-listing-section-cost {
  max-width: 50%;
}

.mbfw-additionl-detail-listing-section input[type=number] {
  width: 100px !important;
  max-width: 100% !important;
}

.mwb_mbfw_detail-listing-wrap .mbfw-additionl-detail-listing-section .mwb-mbfw-additional-service-quantity {
  display: block;
  margin-left: auto;
}

.mbfw-total-listing-single-page__wrapper {
  align-items: end;
  display: flex !important;
  justify-content: space-between;
  margin-bottom: 7px;
}

.mbfw-calendar-section__wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 10px 0;
}

.mbfw-calendar-section {
  flex: 0 0 100%;
  max-width: 45%;
}

.mbfw-calendar-section input {
  width: 100%;
}

.summary-container input {
  padding: 5px;
}

.mbfw-additionl-detail-listing-section input[type=checkbox] {
  margin-right: 5px !important;
}

.mbfw-additionl-detail-listing-section span {
  text-transform: capitalize;
}

.bfwp-people-options__wrapper {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 10px;
}

.bfwp-people-options__wrapper .bfwp-people-type {
  flex: 0 0 100%;
  max-width: 50%;
  text-transform: capitalize;
}

.bfwp-people-options__wrapper .bfwp-people-number {
  flex: 0 0 100%;
  max-width: 50%;
  text-align: right;
}

.bfwp-people-number input {
  width: 100px !important;
  max-width: 100% !important;
}

.mbfw-total-cost__wrapper {
  border-top: 1px solid #ccc;
  padding: 10px 0;
  margin-top: 15px;
}

.mbfw-total-cost__wrapper .mbfw-total-listing-single-page {
  font-weight: 600;
}

.mwb_bfwp_booking_policy {
  font-weight: 600;
  text-transform: capitalize;
  letter-spacing: 0.4px;
  margin-bottom: 10px;
}

.mwb-mbfw-user-booking-meta-data-listing th {
  font-weight: 700 !important;
  text-align: left !important;
}

.mwb-mbfw-user-booking-meta-data-listing td {
  text-align: left !important;
}

/* Theme compatibility css */
/* For betheme */
.entry-summary .mwb-mbfw-cart-page-data input {
  margin-bottom: 0;
  margin: 0;
  display: inline;
}

.entry-summary .mwb-mbfw-cart-page-data .bfwp-people-title {
  margin: 10px 0;
}

/* For Divi */
.theme-Divi .mwb-mbfw-cart-page-data input:not([type=checkbox]) {
  padding: .7em;
  border: 1px solid #ddd;
  color: #666;
  font-size: 14px;
  line-height: normal !important;
}

.mwb-mbfw-ser-booking-toggler {
  display: block;
  height: 12px;
  width: 12px;
  border-width: 0 2px 2px 0;
  border-color: inherit;
  border-style: solid;
  transform: rotate(45deg);
  margin: 30px;
}

.mwb-mbfw-ser-booking-toggler:hover {
  cursor: pointer;
}

.mwb-mbfw-ser-booking-toggler.booking-toggler-reverse {
  transform: rotate(-135deg);
}

.mwb-bfwp-reschedule-user-booking-link__wrapper a {
  color: inherit;
  font-weight: 600;
}

.mwb-bfwp-reschedule-user-booking-link__wrapper a:focus, .mwb-bfwp-reschedule-user-booking-link__wrapper a:hover {
  outline: none;
  text-decoration: none !important;
}

.mbfw-date-picker-section__wrapper {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}

td.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions a {
  margin: 2px;
}

@media only screen and (max-width: 400px) {
  .mbfw-date-picker-section__wrapper {
    gap: 5px;
  }
  .mbfw-date-picker-section {
    max-width: 300px;
  }
}


div.wps_cal_timeslot span {
  padding: 4px 4px;
  margin: 4px 4px;
}

input#wps_booking_single_calendar_form_ {
  width: 300px;
}

.wps_cal_timeslot{
  margin: 5px 0px !important;
}
.wps_cal_timeslot button{
  margin: 3px 0px ;
  border-radius: 3px;
  width: 95px;

}

.mwb-mbfw-total-area{
  margin-bottom: 10%;
}

.xdsoft_datetimepicker .xdsoft_calendar .xdsoft_date {
  text-align: center;
}






.wps_booking_tooltip {
  position: absolute;
  z-index: 1;
  visibility: hidden;
  background-color: #555;
  color: white;
  text-align: center;
  border-radius: 6px;
  padding: 5px;
  font-size: 12px;
}

/* Show tooltip on hover */
.flatpickr-days .flatpickr-day:hover .wps_booking_tooltip {
  visibility: visible;
}


.price {
  display: block;
  font-size: 12px;
  color: #999;
  margin-top: 2px;
}


.disabled-date {
  pointer-events: none; /* Disable click events */
  opacity: 0.5; /* Apply visual indication of disabled state */
}

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

.flatpickr-day.selected {
  background-color: #22c4ff !important; /* Change the highlight color */
  color: white !important;             /* Text color */
  border-radius: 50%;       /* Make it circular */
}

.custom-selected {
  background-color: #22c4ff !important; /* Change the highlight color */
  color: white !important;             /* Text color */
  border-radius: 50%;       /* Make it circular */
}
button.wps_timeslot_button {
  background-color: #45c0e4 !important;
  color: white !important;             /* Text color */
  border: #ddd;
}
.wps_global_calendar_class {
    max-width: 600px;
    margin: 0 auto;
    font-size: 14px;
    transform: scale(0.95); /* optional scaling */
}

/* Adjust calendar day cell height */
.fc .fc-daygrid-day-frame {
    padding: 2px;
}

/* Optionally reduce toolbar button font size */
.fc-toolbar-title {
    font-size: 16px;
}

/* Global calender */

.wps_global_calendar_class.fc {
  max-width: 600px;
}

.wps_global_calendar_class .fc-header-toolbar {
  flex-wrap: wrap;
  gap: 10px;
}

.wps_global_calendar_class.fc .fc-header-toolbar button {
  background: transparent;
  color: #000;
  box-shadow: none;
}

.wps_global_calendar_class.fc .fc-header-toolbar .fc-toolbar-title {
  font-size: 18px !important;
  font-weight: 600;
  color: #000;
}

.wps_global_calendar_class.fc .fc-header-toolbar button.fc-button-active {
  background: #000;
  color: #fff;
}

.wps_global_calendar_class.fc .fc-header-toolbar button.fc-button-active:focus,
.wps_global_calendar_class.fc .fc-header-toolbar button:focus {
  box-shadow: none !important;
}

.wps_global_calendar_class.fc .fc-header-toolbar button.fc-today-button {
  background: #000;
  color: #fff;
}

.wps_global_calendar_class.fc table {
  border: none;
  width: 100% !important;
  margin: 0;
}

.wps_global_calendar_class.fc table tr.fc-list-day th div {
  background: #f9f9f9;
  border-bottom: 1px solid #f2f2f2;
  padding: 10px !important;

}

.wps_global_calendar_class.fc table th,
.wps_global_calendar_class.fc table td {
  border: none;
  box-shadow: none;
  background: transparent;
  padding: 0 !important;
}

.wps_global_calendar_class.fc table td {
  padding: 5px !important;
  cursor: default;
}


.wps_global_calendar_class.fc table.fc-list-table td {
  text-align: left;
  padding: 14px 10px !important;
}

.wps_global_calendar_class.fc table.fc-list-table td a{
  text-decoration: none !important;
}

.wps_global_calendar_class.fc table.fc-col-header th {
  background: transparent;
  padding: 3px 5px 6px !important;
}

.wps_global_calendar_class.fc table th a {
  color: #000;
  text-decoration: none !important;
}

.wps_global_calendar_class.fc table th a.fc-list-day-side-text {
  font-weight: 400;
}

.wps_global_calendar_class.fc table th a.fc-list-day-text {
    font-weight: 600;
}

.wps_global_calendar_class.fc .fc-view {
  padding: 10px;
  border: 1px solid #dcdcdc;
  border-radius: 5px;
}

.wps_global_calendar_class.fc table.fc-col-header {
  margin: 0 0 15px;
  border-bottom: 1px solid #dcdcdc;
}

.wps_global_calendar_class.fc table td.fc-day .fc-daygrid-day-top {
  justify-content: center;
}

.wps_global_calendar_class.fc table .fc-daygrid-body {
  width: 100% !important;
}

.wps_global_calendar_class.fc table td.fc-day a {
  text-decoration: none !important;
  color: #000;
}

.wps_global_calendar_class.fc table td.fc-day.fc-disabled-date {
  filter: unset !important;
  opacity: 0.3;
}

.wps_global_calendar_class.fc table td.fc-day a.fc-h-event {
  padding: 0 3px;
  font-size: 11px;
  display: flex;
  align-items: center;
  line-height: 1.5;
}
 /* .wps_global_multiselect {
  width: 50% !important;  /* full width of container */
  /* min-width: 300px;        or set a fixed min width */


.error-msg {
    color: red;
    font-size: 12px;
    margin-left: 6px;
    display: inline-block;
}

.wps-global-form-field-wrapper {
    margin-bottom: 10px;
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 20px;
}
.wps-global-form-field-wrapper label {
    margin-bottom: 5px;
    display: inline-block;
}
.wps-global-form-field-for-selected-date {
    width: 100%;
    padding: 10px;
    min-height: 33px;
}
.wps-global-selected-field-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}
.wps_global_calendar_add_cart_button {
    padding: 8px 20px;
}
/* new css */
    :root {
        --bfw-primary: #3A9EFD;
        --bfw-dark-color: #1a1a1a;
        --bfw-grey: #e0e0e0;
        --bfw-green: #18aa22ff;
        --bfw-light-grey-color: #f1f1f1;
        --bfw-orange: #FC9918;
    }

    * {
        box-sizing: border-box;
    }

    .wps-bfw_main input:focus,
    .wps-bfw_main button:focus {
        outline: none;
    }

    .wps-bfw_main ul,
    .wps-bfw_main li {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .wps-bfw_main .h3,
    .wps-bfw_main .h4 {
        font-size: 24px;
        font-weight: 600;
        line-height: 1.25;
        margin: 0 0 15px;
        color: var(--bfw-dark-color);
    }

    .wps-bfw_main .h4 {
        font-size: 18px;
    }

    .wps-bfw_main .p {
        font-size: 14px;
        line-height: 1.5;
        font-weight: 400;
        margin: 0 0 15px;
        color: var(--bfw-dark-color);
    }

    .wps-bfw_main {
        container-type: inline-size;
        container-name: booking-list;
        max-width: 1180px;
    }

    #wps-bfw_main .wps-bfw_orders ul {
        display: flex;
        flex-direction: column;
        gap: 20px;
        transition: all 0.5s linear;
        padding: 0;
    }

    .wps-bfw_main .wps-bfw_orders li {
        padding: 15px;
        border: 1.5px solid var(--bfw-grey);
        border-radius: 5px;
        gap: 20px;
        display: flex;
        position: relative;
        background: white;
        margin: 0;
    }

    .wps-bfw_orders li.remove {
        display: none;
    }

    .wps-bfw_orders li.matched {
        display: flex;
    }


    #wps-bfw_main .wps-bfw_orders li img {
        max-width: 200px;
        object-fit: cover;
        object-position: center;
    }

    .wps-bfw_orders li .wps-bfw_od-header {
        display: flex;
        justify-content: space-between;
        gap: 20px;
        align-items: flex-start;
    }

    .wps-bfw_orders li .h4 {
        margin: 0;
    }

    .wps-bfw_orders li a {
        text-decoration: underline;
        font-size: 16px;
    }
    .wps-bfw_od-view-cancel-buttons {
        display: flex;
        gap: 5px;
        flex-wrap: wrap;
    }
    .wps-bfw_orders ul li input.wps-bfw_od-cancel-button {
        background: red;
        border: 1.5px solid red;
        color: white;
        border-radius: 5px;
        padding: 5px 15px;
        font-weight: 400;
        font-size: 14px;
        transition: all 0.2s 
        linear;
        cursor: pointer;
        margin: 0;
        box-shadow: none;
        line-height: 1.5;
        
    }
    .wps-bfw_orders li a:hover {
        text-decoration: none;
    }

    .wps-bfw_orders li a:hover {
        color: var(--bfw-primary);
    }

    .wps-bfw_orders li .wps-bfw_o-desc {
        display: flex;
        flex-direction: column;
        flex: 1;
    }

    .wps-bfw_orders li .wps-bfw_odh-rate {
        font-size: 14px;
        display: flex;
        align-items: center;
        gap: 3px;
        color: var(--bfw-dark-color);
    }

    .wps-bfw_orders li .wps-bfw_odh-rate svg path {
        fill: var(--bfw-orange);
    }

    .wps-bfw_orders li .wps-bfw_od-locate {
        font-size: 12px;
        display: flex;
        gap: 5px;
        color: var(--bfw-dark-color);
        line-height: 1.5;
    }

    .wps-bfw_orders li .wps-bfw_od-locate svg {
        margin: 3px 0 0;
        width: 12px;
        height: 12px;
    }

    .wps-bfw_orders li .wps-bfw_od-locate svg path {
        stroke: var(--bfw-dark-color);
    }

    .wps-bfw_orders li .wps-bfw_od-loc-date {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
        margin: 5px 0;
        justify-content: space-between;
    }
.wps-bfw_orders li .wps-bfw_od-loc-status {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
        margin: 4px 0;
        justify-content: space-between;
    }
    .wps-bfw_orders ul li .p {
        margin: 0 0 5px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .wps-bfw_orders ul li .wps-bfw_od-pay-cancel {
        display: flex;
        align-items: center;
        gap: 5px;
        margin: 0 0 15px;
        flex: 1;
        flex-wrap: wrap;
    }

    .wps-bfw_orders ul li .wps-bfw_od-pay-cancel input.wps-bfw_od-d-can-input {
        padding: 0;
        background: transparent;
        font-weight: 400;
        text-decoration: underline;
        color: var(--bfw-primary);
        border: none;
        font-size: 14px;
        margin: 0;
        box-shadow: none;
        cursor: pointer;
    }

    .wps-bfw_orders .wps-bfw_od-pay {
        color: var(--bfw-dark-color);
        font-size: 14px;
    }

    .wps-bfw_orders .wps-bfw_od-pay span {
        margin: 0 0 0 5px;
        color: var(--bfw-orange);
    }

    .wps-bfw_orders .wps-bfw_od-pay span.online {
        color: var(--bfw-green);
    }

    .wps-bfw_orders ul li .wps-bfw_od-view-price {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 10px;
    }

    .wps-bfw_orders ul li input.wps-bfw_od-view {
        background: var(--bfw-primary);
        border: 1.5px solid var(--bfw-primary);
        color: white;
        border-radius: 5px;
        padding: 5px 15px;
        font-weight: 400;
        font-size: 14px;
        transition: all 0.2s linear;
        cursor: pointer;
        margin: 0;
        box-shadow: none;
        line-height: 1.5;
    }

    .wps-bfw_orders ul li input.wps-bfw_od-view:hover {
        background: transparent;
        color: var(--bfw-primary);
        box-shadow: none;
    }

    .wps-bfw_orders ul li .wps-bfw_od-price {
        font-size: 16px;
        font-weight: 600;
        color: black;
    }

    .wps-bfw_main .wps-bfw_filters {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
        margin: 0 0 20px;
    }

    .wps-bfw_main .wps-bfw_filters select {
        max-width: 160px;
        width: 100%;
        padding: 5px 10px;
        border-radius: 5px;
        border: 1.5px solid var(--bfw-grey);
        color: var(--bfw-dark-color);
        cursor: pointer;
        min-height: auto;
        height: auto;
        margin: 0;
        box-shadow: none;
    }

    .wps-bfw_main .wps-bfw_f-search-box {
        display: flex;
        align-items: center;
        position: relative;
        border: 1.5px solid var(--bfw-grey);
        border-radius: 5px;
        padding: 0 6px;
        background: white;
    }

    .wps-bfw_main .wps-bfw_f-search-box input.wps-bfw_f-search-input {
        padding: 6px 7px;
        line-height: 1;
        border: none;
        box-shadow: none;
        background: transparent;
        min-height: auto;
        height: auto;
        margin: 0;
    }

    .wps-bfw_main .wps-bfw_f-search-box svg path {
        stroke: var(--bfw-grey);
    }

    .wps-bfw_main .wps-bfw_f-search-box .wps-bfw_f-s-toggle {
        display: flex;
        align-items: center;
        gap: 5px;
        font-size: 14px;
        color: var(--bfw-dark-color);
    }

    .wps-bfw_main .wps-bfw_f-s-toggle input[type="checkbox"] {
        appearance: none;
        width: 26px;
        background: var(--bfw-grey);
        height: 14px;
        border-radius: 50px;
        position: relative;
        cursor: pointer;
        margin: 0;
        border: none;
    }

    .wps-bfw_main .wps-bfw_f-s-toggle input[type="checkbox"]:before {
        content: '';
        position: absolute;
        width: 14px;
        height: 14px;
        background: var(--bfw-primary);
        border-radius: 50%;
        left: 0;
        transition: all 0.2s linear;
    }

    .wps-bfw_main .wps-bfw_f-s-toggle input[type="checkbox"]:checked::before {
        left: calc(100% - 14px);
    }

      .wps-bfw_main .wps-bfw-empty-state {
          display: flex;
          justify-content: space-between;
          gap: 10px;
          padding: 16px 20px;
          flex-wrap: wrap;
          background-color: #f4f8ff;
          border: 1.5px solid #007cba;
          border-radius: 10px;
      }
      .wps-bfw_main .wps-bfw-empty-state svg {
          vertical-align: sub;
      }
      .wps-bfw_main .wps-bfw-empty-text {
          font-weight: 600;
          color: var(--bfw-grey-color);
          flex: 1 0 60%;
      }

      .wps-bfw_main .wps-bfw-empty-action {
          background: transparent;
          /* border: none; */
          padding: 0;

          color: #6b7280; /* WC-style muted link */
          font-weight: 500;
          text-decoration: underline;
      }

      .wps-bfw_main .wps-bfw-empty-action:hover {
          text-decoration: none;
      }
      .wps-bfw_main .wps-bfw-empty-action.button {
          box-shadow: none;
      }


    .wps-bfw_main #wps-load-more-btn {
        padding: 5px 15px;
        background: transparent;
        text-decoration: underline;
        color: var(--bfw-primary);
        margin: 15px auto;
        max-width: 140px;
        text-align: center;
        width: 100%;
        display: block;
        box-shadow: none;
        border: none;
        cursor: pointer;
    }

    .wps-bfw_main.card-view-order .wps-bfw_orders ul li {
        flex: 1 0 calc(33% - 20px);
        max-width: calc(33% - 10px);
        flex-direction: column;
    }

    #wps-bfw_main.card-view-order .wps-bfw_orders ul {
        flex-wrap: wrap;
        flex-direction: unset;
    }

    #wps-bfw_main.card-view-order .wps-bfw_orders ul li img {
        max-width: 100%;
        width: 100%;
        max-height: 200px;
        height: 100%;
    }

    @container booking-list (max-width:800px) {

        .wps-bfw_main.card-view-order .wps-bfw_orders ul li {
            flex: 1 0 calc(50% - 10px);
            max-width: calc(50% - 10px);
        }

    }

    @container booking-list (max-width:520px) {

        .wps-bfw_main .wps-bfw_orders ul li,
        .wps-bfw_main.card-view-order .wps-bfw_orders ul li {
            flex: 1 0 80%;
            max-width: 100%;
            flex-direction: column;
        }

        #wps-bfw_main .wps-bfw_orders ul {
            flex-wrap: wrap;
            flex-direction: unset;
        }

        #wps-bfw_main .wps-bfw_orders ul li img {
            max-width: 100%;
            width: 100%;
            max-height: 300px;
            height: 100%;
        }

        .wps-bfw_main .wps-bfw_f-search-box {
            flex: 1 0 80%;
            max-width: 100%;
        }

        .wps-bfw_main .wps-bfw_f-search-box .wps-bfw_f-s-toggle {
            display: none;
        }

        .wps-bfw_main .wps-bfw_f-search-box input.wps-bfw_f-search-input {
            width: 100%;
        }

    }

    @container booking-list (max-width:420px) {

        #wps-bfw_main .wps-bfw_orders ul li img {
            max-width: 100%;
            width: 100%;
            max-height: 200px;
            height: 100%;
        }

    }