  .wpbc_booking_form_simple.wpbc_form_center .wpbc__form__div .wpbc__row.wpbc_r_calendar,
  .wpbc_booking_form_simple .wpbc__form__div .wpbc__row:not(.wpbc_r_calendar) {
      max-width: 100%;
  }

  .booking_form_div hr {
      margin: 20px 0;
      height: 1px;
  }

  .wpbc_container_booking_form {
      margin-top: 40px;
      width: 100%;
  }

  .wpbc__field .bk_calendar_frame {
      margin-top: 0;
  }

  .wpbc_ty__message {
      margin: 0 0 20px !important;
  }

  .wpbc_after_booking_thank_you_section .wpbc_ty__container .wpbc_ty__header {
      border-color: #e3052c !important;
  }

  .wpbc_after_booking_thank_you_section .wpbc_ty__container,
  .wpbc_after_booking_thank_you_section .wpbc_ty__container * {
      color: #000;
      font-size: 15px;
  }

  .wpbc_container {
      .datepick-inline .date_available .wpbc-cell-box {
          background-color: #f2f2f2;
          a {
              color: #000;
          }

          &:hover {
              background-color: #e7e7e7;
          }
      }

      :not(.datepick-current-day).datepick-days-cell-over a {
          color: #000;
      }

      .datepick-inline .datepick-one-month .datepick .datepick-days-cell-over .wpbc_time_dots {
          color: #000;
      }

      .datepick-inline .date2approve .wpbc-cell-box {
          background-color: #0c0;
      }

      .datepick-inline div.datepick-one-month .datepick td.datepick-current-day .wpbc-cell-box {
          background-color: #e3052c;
      }

      .datepick-inline .date2approve.timespartly .wpbc-cell-box {
          background-color: #9a0013;
          a {
              color: #fff;
          }

          .wpbc_time_dots {
              color: #fff;
          }

          & {
              a {
                  color: #fff;
              }

              .wpbc_time_dots {
                  color: #fff;
              }
          }
      }

      td.date2approve:hover {
          .wpbc-cell-box {
              a {
                  color: #fff !important;
              }
          }
      }

      td.date_available:hover {
          a {
              color: #000 !important;
          }
      }

      td.date_available.datepick-current-day:hover {
          a {
              color: #fff !important;
          }
      }

      .datepick-inline .date2approve .wpbc-cell-box {
          background-color: #fff5c3;
      }

      .datepick-inline .date_approved .wpbc-cell-box {
          background-color: #e3052c;
      }

      .btn-primary {
          background: #e3052c;
          color: #fff;
      }

      .btn-primary:hover {
          background: transparent;
          color: #e3052c;
      }

      .btn-primary-outline {
          background: transparent;
          color: #e3052c;
      }

      .btn-primary-outline:hover {
          background: #e3052c;
          color: #fff;
      }

      .btn-odf {
          border-color: #e3052c;
          border-width: 1px;
          cursor: pointer;
          display: inline-block;
          font-size: .875rem;
          font-weight: 700;
          line-height: 1.2857142857;
          padding: .9375rem 1.875rem;
          position: relative;
          text-align: center;
          transition-duration: .5s;
          transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
          transition-timing-function: cubic-bezier(.4, 0, .2, 1);
      }

      .btn-odf-pay {
          background: #e3052c !important;
          border-color: #e3052c !important;
          border-width: 1px !important;
          border-radius: 0 !important;
          color: #fff !important;
          cursor: pointer;
          display: inline-block !important;
          font-size: .875rem !important;
          font-weight: 700 !important;
          line-height: 1.2857142857 !important;
          padding: .9375rem 1.875rem !important;
          position: relative;
          text-align: center;
          transition-duration: .5s;
          transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
          transition-timing-function: cubic-bezier(.4, 0, .2, 1);

          &:hover {
              background: transparent !important;
              color: #e3052c !important;
          }
      }
  }

  .wpbc_booking_form_simple .wpbc_wizard_step .wpbc_r_calendar.wpbc__field .block_hints {
      max-width: unset;
  }

  div.wpbc_container.wpbc_form .wpdev-form-control-wrap .wpdev-list-item input[type="checkbox"] {
      margin: 0;
  }

  .wpbc_container_booking_form .wpbc__field:not(.wpbc__cal) {
      margin: 0;
  }

  .wpdev-form-control-wrap {
      margin: 0;
  }

  .wpdev-checkbox {
      .wpdev-list-item {
          label {
              font-size: 15px;
          }
      }

      input[type=checkbox]:before {
          border-radius: 0 !important;
      }
  }

  .wpbc_wizard_step2,
  .wpbc_wizard_step3 {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
  }

  .wpbc_wizard_step2 .wpbc__field,
  .wpbc_wizard_step3 .wpbc__field {
      display: flex;
      flex-direction: column;
      align-items: center;
  }

  .wpbc_wizard_step2 .wpbc_times_selector,
  .wpbc_wizard_step3 .wpbc_times_selector {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
  }

  .wpbc_wizard_step2 r,
  .wpbc_wizard_step3 r {
      width: 100%;
  }

  .wpbc-btn-disabled {
      opacity: 0.35;
      cursor: not-allowed !important;
  }

  .wpbc_r_starttime,
  .wpbc_r_endtime {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 12px;
  }

  .wpbc_r_starttime label,
  .wpbc_r_starttime l,
  .wpbc_r_endtime label,
  .wpbc_r_endtime l {
      font-size: 18px;
      font-weight: bold;
      display: block;
      margin-bottom: 12px;
  }

  .wpbc_wizard_step4 {
      .wpdev-form-control-wrap .wpdev-radio > .wpdev-list-item {
          all: unset;
          display: flex;
          gap: 10px;

          input[type=radio] {
              &:focus {
                  &:before {
                      border-color: inherit;
                      box-shadow: none !important;
                  }
              }

              &:checked {
                  &:before {
                      border-color: #000000;
                  }

                  &:after {
                      background-color: #e3052c;
                  }
              }
          }

          label {
              all: unset !important;
              cursor: pointer !important;
              line-height: 20px !important;
          }
      }

      .wpdev-form-control-wrap .wpdev-checkbox > .wpdev-list-item {
          all: unset;
          display: flex;
          gap: 10px;

          input[type=checkbox] {
              &:focus {
                  &:before {
                      border-color: inherit;
                      box-shadow: none !important;
                  }
              }

              &:before {
                  left: 0;
              }

              &:after {
                  left: -1px;
              }

              &:checked {
                  &:before {
                      border-color: #000000;
                  }

                  &:after {
                      border-color: #e3052c;
                  }
              }
          }

          label {
              all: unset !important;
              cursor: pointer !important;
              line-height: 20px !important;
          }
      }

      .wpbc__row {
          gap: 20px;
      }
  }

  .wpbc_r_regulamin {
      .wpdev-checkbox .wpdev-list-item label {
          display: none !important;
      }

      .wpbc__field {
          align-items: center !important;
      }

      .wpbc_wrap_checkbox {
          display: inline-block !important;
          width: auto !important;
          flex-shrink: 0;
      }

      span:not(.wpbc_wrap_checkbox):not(.wpdev-form-control-wrap):not(.wpdev-checkbox):not(.wpdev-list-item):not(.wpdev-list-item-label) {
          cursor: pointer;
          flex: 1;

          a {
              color: #e3052c;
              text-decoration: underline;

              &:hover {
                  color: #9a0013;
              }
          }
      }
  }

  .wpbc_wrap_checkbox.regulamin5 {
      width: 16px !important;
      min-width: 0px !important;
  }

  div.wpbc_container.wpbc_form input[type=text],
  div.wpbc_container.wpbc_form input[type=email],
  div.wpbc_container.wpbc_form textarea {
      border-width: 1px;
      border-radius: 0;
      color: #000;
      display: block;
      text-overflow: ellipsis;
      height: unset;
      width: 100%;
      background-color: initial;
      border-color: #e7e7e7;
      font-size: .875rem;
      line-height: 1.2857142857;
      padding: .9375rem 1.875rem;
      transition-duration: .5s;
      transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
      transition-timing-function: cubic-bezier(.4, 0, .2, 1);

      &:focus {
          border-color: #000;
          box-shadow: unset;

          &:invalid {
              box-shadow: unset;
          }
      }
  }

  div.wpbc_container.wpbc_form input[type=email] {
      &:focus {
          &:invalid {
              border-color: #000;
              box-shadow: unset;
          }
      }
  }

  div.wpbc_container.wpbc_form.wpbc_container_booking_form input.wpbc_form_field_error:focus {
      box-shadow: unset;
  }

  .wpbc_after_booking_thank_you_section {
      max-width: unset;

      .wpbc_ty__container {
          box-shadow: none;
          border-radius: 0;
          border-color: #e7e7e7;
      }
  }

  .wpbc_r_coupon.wpbc__row {
      display: flex;
      align-items: center;
      gap: 10px;
      justify-content: flex-end;
      flex-wrap: nowrap;
  }

  .wpbc_r_coupon .wpdev-form-control-wrap {
      width: auto;
      flex: 0 1 auto;
  }

  .wpbc_r_coupon .wpdev-form-control-wrap input {
      width: 200px !important;
  }

.wpbc-btn-disabled {
    pointer-events: auto !important;
    opacity: 0.35;
}

/*
 * Choices/select tworzone dynamicznie po wyborze daty — ZOSTAJĄ w DOM,
 * ale UI dropdownu ma być niewidoczne. Kafelki .wpbc_times_selector widoczne.
 */
.wpbc_booking_form_simple .wpbc_r_starttime .choices .choices__list,
.wpbc_booking_form_simple .wpbc_r_endtime .choices .choices__list,
.wpbc_booking_form_simple .wpbc_r_starttime .choices .choices__input,
.wpbc_booking_form_simple .wpbc_r_endtime .choices .choices__input {
    display: none !important;
}

.wpbc_booking_form_simple .wpbc_r_starttime .choices .choices__inner,
.wpbc_booking_form_simple .wpbc_r_endtime .choices .choices__inner {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
    min-height: 0 !important;
    box-shadow: none !important;
}

.wpbc_booking_form_simple .wpbc_r_starttime .choices[data-type="select-one"]::after,
.wpbc_booking_form_simple .wpbc_r_endtime .choices[data-type="select-one"]::after {
    display: none !important;
    content: none !important;
}

.wpbc_booking_form_simple .wpbc_r_starttime select[name^="starttime"],
.wpbc_booking_form_simple .wpbc_r_endtime select[name^="durationtime"] {
    display: none !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.wpbc_booking_form_simple .wpbc_r_starttime .wpbc_times_selector,
.wpbc_booking_form_simple .wpbc_r_endtime .wpbc_times_selector {
    display: none !important;
}

.wpbc_booking_form_simple .wpbc_r_starttime .wpbc_times_selector.wpbc_wizard_times_active,
.wpbc_booking_form_simple .wpbc_r_endtime .wpbc_times_selector.wpbc_wizard_times_active {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
}
