.mpcb-bike-rental-icon {
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: bottom;
  line-height: 0;
  margin-left: 1%;
}

.mpcb-bike-rental-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.mpcb-bike-rental-period {
  display: grid;
  gap: 14px;
}

.mpcb-bike-rental-calendar {
  background: #fff;
  padding: 14px 0;
  width: 100%;
  border: 1px solid #d9d9d9 !important;
  padding: 16px !important;
  border-radius: 15px;
}

.mpcb-bike-rental-calendar__label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
}

.mpcb-bike-rental-calendar__nav {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin: 8px 0 12px;
}

.mpcb-bike-rental-calendar__nav [data-mpcb-calendar-title] {
  color: #1a2b49;
  flex: 1;
  font-size: larger;
  text-align: center;
  text-transform: capitalize;
}

.mpcb-bike-rental-calendar__nav [data-mpcb-calendar-prev],
.mpcb-bike-rental-calendar__nav [data-mpcb-calendar-next] {
  min-height: 34px;
  min-width: 34px;
  padding: 4px 10px;
}

.mpcb-bike-rental-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  min-height: 260px;
  transition: opacity 0.2s;
}

.mpcb-bike-rental-calendar__spacer {
  min-height: 28px;
}

.mpcb-bike-rental-calendar__weekday {
  color: #1a2b49;
  font-size: medium;
  font-weight: 700;
  text-align: center;
}

.mpcb-bike-rental-calendar__day {
  min-height: 28px;
  border: 1px solid darkgrey !important;
  border-radius: 1px !important;
  background: #fff;
  color: #667085;
  cursor: pointer;
  padding: 0 !important;
  height: auto !important;
}

.mpcb-bike-rental-calendar__day:not(:disabled) {
  background: #e19500;
  color: #111827;
}

.mpcb-bike-rental-calendar__day:disabled {
  color: #98a2b3;
  background: #fff;
  cursor: not-allowed;
}

.mpcb-bike-rental-calendar__day.is-selected {
  border-color: #959229;
  background: #b0ad34;
  color: #1c1917;
  font-weight: 700;
}

.mpcb-bike-rental-calendar__day.is-selected:focus {
  border-color: #959229 !important;
  background: #b0ad34 !important;
  color: #1c1917 !important;
  font-weight: 700 !important;
}

.mpcb-bike-rental-times {
  background: #fff;
  padding: 14px 0;
  width: 100%;
  border: 1px solid #d9d9d9 !important;
  padding: 16px !important;
  border-radius: 15px;
  grid-template-columns: 1fr 1fr;
  display: grid;
  gap: 10px;
}

.mpcb-bike-rental-times p {
  margin: 0;
}

.mpcb-bike-rental-times select {
  width: 100%;
  min-height: 42px;
  padding: 7px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  color: #1a2b49;
  font: inherit;
}

.mpcb-bike-rental-times select:focus {
  border-color: #e19500;
  box-shadow: 0 0 6px rgba(225, 149, 0, 0.45);
  outline: none;
}

.mpcb-bike-rental-time-icon {
  display: inline-block;
  margin-right: 6px;
}

.mpcb-bike-lines__list {
  display: grid;
  gap: 12px;
}

.mpcb-bike-lines .mpcb-bike-line {
  align-items: center;
  border-color: #b9c7a5;
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr) minmax(0, 1fr);
  position: relative;
}

.mpcb-bike-line__bike {
  align-items: center;
  display: grid;
  gap: 8px;
  justify-items: center;
}

.mpcb-bike-line__bike strong {
  justify-self: start;
}

.mpcb-bike-line__icon {
  display: block;
  line-height: 0;
  width: 62px;
}

.mpcb-bike-line__icon svg {
  display: block;
  height: auto;
  width: 100%;
}

.mpcb-bike-lines .mpcb-bike-line__header {
  display: grid;
  position: absolute;
  right: 12px;
  top: 12px;
}

.mpcb-bike-lines .mpcb-bike-line__remove {
  font-size: 12px;
  line-height: 1;
  min-height: 28px;
  min-width: 28px;
  padding: 4px;
}

.mpcb-bike-lines .mpcb-bike-line__fields {
  display: grid;
  gap: 12px;
  grid-column: 2 / 4;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-row: 1;
  padding-right: 72px;
}

.mpcb-bike-lines .mpcb-bike-line__fields input {
  min-height: 44px;
}

.mpcb-bike-lines .mpcb-bike-add-row {
  margin: 0;
}

.mpcb-bike-add-row .button {
  background: #7b7a2b;
  color: white;
  border: 0;
  border-radius: 0;
  font-weight: 600;
  padding: 8px 14px;
}

.mpcb-booking-form__addons > :nth-child(2) {
  margin-top: 4%;
}

.mpcb-booking-form__addons {
  background: #fff;
  padding: 14px 0;
  width: 100%;
  border: 1px solid #d9d9d9 !important;
  padding: 16px !important;
  border-radius: 15px;
}

.mpcb-booking-form__distance-widget {
  margin-top: 18px;
}

.mpcb-bike-summary-submit {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.mpcb-secure-payment {
  align-items: flex-start;
  background: palegreen;
  border: 1px solid #8fdc8f;
  border-radius: 12px;
  color: #1a2b49;
  display: flex;
  gap: 10px;
  padding: 12px 14px;
}

.mpcb-secure-payment__icon {
  color: #12b76a;
  flex: 0 0 auto;
  font-size: 16px;
  line-height: 1.2;
  margin-top: 2px;
}

.mpcb-secure-payment__content {
  display: grid;
  gap: 2px;
}

.mpcb-secure-payment__content strong {
  font-size: 14px;
  line-height: 1.25;
}

.mpcb-secure-payment__content span {
  color: #667085;
  font-size: 13px;
  line-height: 1.35;
}

.mpcb-booking-form__delivery > :nth-child(2) {
  margin-top: 4%;
}

.mpcb-booking-form__delivery {
  margin-top: 3%;
  background: #fff;
  padding: 14px 0;
  width: 100%;
  border: 1px solid #d9d9d9 !important;
  padding: 16px !important;
  border-radius: 15px;
}

.mpcb-booking-form__riders {
  margin-top: 3%;
  padding: 14px 0;
  width: 100%;
  border: 1px solid #d9d9d9 !important;
  padding: 16px !important;
  border-radius: 15px;
}

.mpcb-bike-rental-calendar__day:first-child {
  border-radius: 8px 0px 0px !important;
}

.mpcb-bike-rental-calendar__day:last-child {
  border-radius: 0px 0px 8px 0px !important;
}

@media (max-width: 480px) {
  .mpcb-bike-rental-times {
    grid-template-columns: 1fr;
  }

  .mpcb-bike-lines .mpcb-bike-line {
    grid-template-columns: 1fr;
  }

  .mpcb-bike-lines .mpcb-bike-line__header,
  .mpcb-bike-lines .mpcb-bike-line__fields,
  .mpcb-bike-lines .mpcb-bike-line__remove {
    grid-column: auto;
    grid-row: auto;
  }

  .mpcb-bike-lines .mpcb-bike-line__fields {
    grid-template-columns: 1fr;
    padding-right: 0;
  }
}
