.wpcf7-not-valid-tip {
    color: #dc3232;
    font-size: 16px!important;
    font-weight: normal;
    display: block !important;
}
.wpcf7-response-output:empty {
    display: none !important;
    visibility: hidden !important;
}

.controls{
  display: none!important;
}
.calendar-wrapper {
      display: flex;
      justify-content: center;
      padding: 20px;
    }
    .calendar {
      width: 100%;
      max-width: 700px;
    }
    .calendar .day {
      width: 40px;
      height: 40px;
      line-height: 40px;
      margin: auto;
      padding: 0;
      text-align: center;
      border-radius: 50%;
      transition: 0.2s;
      cursor: pointer;
    }
    .calendar .day:hover {
      /* background-color: #0d6efd; */
      /* color: white; */
    }
    .calendar .day.disabled {
      /* color: #ccc; */
      cursor: not-allowed;
    }
    .calendar .day.selected {
      /* background-color: #0d6efd; */
      /* color: white; */
    }
    .slots {
      max-width: 700px;
      margin: 0rem auto;
      padding: 20px;
      background: white;
      border-top: 1px solid #e7e7e7;
    }
    .slot {
      display: inline-block;
      margin: 5px;
      padding: 8px 12px;
      background: #2B61FF14;
      border-radius: 0px;
      cursor: pointer;
      transition: 0.2s;
    }

    .controls {
      display: flex;
      justify-content: center;
      gap: 1rem;
      margin-bottom: 1rem;
    }
    select {
      padding: 5px 10px;
    }
    .calendar-grid {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      gap: 10px;
      font-family: 'Work Sans';
    font-weight: 500;
    }
    .weekdays {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      text-align: center;
      font-weight: bold;
      margin-bottom: 0.5rem;
      font-family: 'Work Sans';
      font-weight: 600;
    }
    .weekdays div {
      padding: 0.25rem 0;
    }
    div#timeSlots {
      font-family: 'Work Sans';
  } 
    .presentCalenderDiv {
      display: flex  ;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 20px;
  }
  .presentCalenderDiv h5{
    margin-bottom: 0px;
  }
  .prevMonthCta,.nextMonthCta {
    /* background-color: #fff; */
    border: 1px solid #e7e7e7;
    /* color: #617798; */
    width: 40px;
    height: 40px;
    line-height: 38px;
    padding: 0px;
    margin: 0px;
}

@media (max-width: 575.98px) {
  .calendar {
    padding: 10px;
  }

  .weekdays div,
  .calendar-grid .day {
    font-size: 12px;
    padding: 8px 0;
  }

  .weekdays {
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
  }

  .calendar-grid {
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
  }

  .calendar-grid .day,
  .weekdays div {
    min-width: 28px;
    line-height: 1.2;
  }

  .presentCalenderDiv h5 {
    font-size: 16px;
  }

  .form-select.w-auto {
    font-size: 14px;
    padding: 4px 6px;
  }

  .controls {
    flex-wrap: wrap;
    gap: 5px;
  }

  .prevMonthCta,
  .nextMonthCta {
    padding: 4px 8px;
    font-size: 14px;
  }
}


/* flatpicker */
.flatpickr-calendar {
  box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}
.flatpickr-current-month {
  display: flex;
  justify-content: space-between;
}
.flatpickr-day,
.flatpickr-weekday,
.flatpickr-time input,
.flatpickr-time .flatpickr-am-pm {
  font-family: 'Work Sans';
  font-weight: 600!important;
  /* color: #617798; */
}

.flatpickr-months .flatpickr-prev-month:hover svg,
 .flatpickr-months .flatpickr-next-month:hover svg {
  fill: #0d6efd;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:hover,
.numInputWrapper:hover,.flatpickr-time input:hover, 
.flatpickr-time .flatpickr-am-pm:hover, 
.flatpickr-time input:focus, .flatpickr-time .flatpickr-am-pm:focus{
  /* background: #2B61FF14; */
}
.flatpickr-weekdays {
  height: 40px;
  border-top: 1px solid #e7e7e7;
  margin-top: 10px;
  border-bottom: 1px solid #e7e7e7;
}
select.flatpickr-monthDropdown-months,
input.numInput.cur-year{
  /* color: #00234B!important; */
  font-family: 'Work Sans'!important;
}
.flatpickr-calendar.hasTime .flatpickr-time{
  border-top: 1px solid #e7e7e7;
}
/* Site reviews */
/* ==============================
   Global Form Layout
============================== */
.glsr-review-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px 40px;
  font-family: "Plus Jakarta Sans", Sans-serif;
  color: #333;
}
.glsr-default form.glsr-form .glsr-field-toggle input[type=checkbox]:checked+.glsr-toggle-track:before {
  background-color: #2ECC71 !important;
}
/* ==============================
   Labels
============================== */
.glsr-label span {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
  font-size: 19px;
  color: #242E45!important;
}

/* ==============================
   Input, Select & Textarea
============================== */
.glsr-input,
.glsr-select,
.glsr-textarea {
  width: 100% !important;
  padding: 12px 25px 12px 0px !important;
  border: none !important;
  border-bottom: 1px solid #dfdfdf !important;
  background: transparent !important;
  border-radius: 0px !important;
  font-size: 15px !important;
  color: #333 !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  outline: none!important;
  box-shadow: none!important;
}
.glsr-default form.glsr-form .glsr-toggle input[type=checkbox]:focus+.glsr-toggle-track {
  box-shadow: 0 0 !important;
  box-shadow: 0 0 0 0px -moz-mac-focusring!important;
  box-shadow: 0 0 0 0px -webkit-focus-ring-color!important;
  outline: none !important;
}
/* On focus */
.glsr-input:focus,
.glsr-select:focus,
.glsr-textarea:focus {
  border-bottom-color: #b9b9b9!important;
  outline: none;
  box-shadow: none;
}

/* Placeholder text */
.glsr-input::placeholder,
.glsr-select::placeholder,
.glsr-textarea::placeholder {
  color: #999;
  font-family: "Plus Jakarta Sans", Sans-serif;
}

/* ==============================
   Textarea
============================== */
.glsr-textarea {
  min-height: 100px!important;
  resize: vertical;
}

/* ==============================
   Rating and Checkbox Fields
============================== */
.glsr-field-rating select,
.glsr-field-choice input[type="checkbox"] {
  accent-color: #2ECC71!important;
}

/* ==============================
   Submit Button (CTA)
============================== */
.glsr-button {
  background-color: #2ECC71!important;
  font-family: "Plus Jakarta Sans", Sans-serif!important;
  font-size: 16px!important;
  font-weight: 500!important;
  color: #fff!important;
  border-style: solid!important;
  border-color: #2ECC71!important;
  border-radius: 50px!important;
  padding: 16px 30px!important;
  box-shadow: 0px 8px 30px 0px rgba(0, 0, 0, 0.15)!important;
  cursor: pointer!important;
}

/* Button hover */
.glsr-button:hover {
  transform: translateY(-2px)!important;
}

/* ==============================
   Error Messages
============================== */
.glsr-field-error {
  font-size: 13px;
  color: #e74c3c;
  margin-top: 4px;
}

/* multiple select */
span.wpcf7-form-control-wrap input.choices__input.choices__input--cloned {
    padding: 0px !important;
    background-color: transparent;
}
span.wpcf7-form-control-wrap input.choices__input.choices__input--cloned::placeholder {
    color: #242E45 !important;
    font-size: 16px !important;
    font-weight: 400;
    opacity: 1 !important; /* ensure color shows (some browsers dim placeholders) */
}
span.wpcf7-form-control-wrap input.choices__input.choices__input--cloned:focus {
    outline: none !important;
    border: none !important;
}
span.wpcf7-form-control-wrap .choices__list.choices__list--multiple {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    width: fit-content;
}
span.wpcf7-form-control-wrap  .choices__list.choices__list--multiple .choices__item.choices__item--selectable {
    border-radius: 20px;
    padding: 5px 10px !important;
    align-items: center;
    border: 1px solid #f6edfc;
    background-color: #f6edfc;
    color: #242E45 !important;
    white-space: nowrap;
    vertical-align: top;
    cursor: default;
    margin: 0px !important;
}
span.wpcf7-form-control-wrap .choices__inner{
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
span.wpcf7-form-control-wrap  button.choices__button {
    filter: invert(1) brightness(0);
}
span.wpcf7-form-control-wrap .choices__heading {
    color: #2ecc71;
    padding-left: 15px!important;
}

/* ==============================
   Responsive
============================== */
@media (max-width: 768px) {
  .glsr-review-form {
    grid-template-columns: 1fr;
  }
}