.bmpp-builder__date-field { position: relative; }
.bmpp-builder__date-field > span { display: block; margin: 0 0 7px; color: #334e68; font-weight: 750; }
.bmpp-builder__travel-grid > label,
.bmpp-builder__travel-grid > .bmpp-builder__date-field {
  display: grid;
  grid-template-rows: 27px 46px;
  align-self: start;
  gap: 0;
  margin: 0 !important;
}
.bmpp-builder__travel-grid > label > span:first-child,
.bmpp-builder__travel-grid > .bmpp-builder__date-field > span {
  align-self: start;
  height: 27px;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 20px !important;
}
.bmpp-builder__travel-grid > label > select,
.bmpp-builder__travel-grid > .bmpp-builder__date-field > button {
  align-self: start;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
}
.bmpp-builder__date-field > button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 46px;
  padding: 0 38px 0 12px !important;
  border: 1px solid #b9aa96 !important;
  border-radius: 4px !important;
  background: #fffdf9 !important;
  color: #40372e !important;
  text-align: left;
}
.bmpp-builder__date-field > button::after { content: ""; position: absolute; right: 13px; width: 8px; height: 8px; border-right: 2px solid #75695d; border-bottom: 2px solid #75695d; transform: rotate(45deg) translateY(-2px); }
.bmpp-builder__date-field > button:hover,
.bmpp-builder__date-field > button:focus,
.bmpp-builder__date-field > button[aria-expanded="true"] {
  border-color: #9a6a35 !important;
  background: #fff8ec !important;
  outline: 2px solid rgba(154, 106, 53, .14) !important;
}
.bmpp-builder__date-field > button strong { font-size: 14px; font-weight: 400; line-height: 1; }

.bmpp-builder__calendar {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  background: rgba(35, 29, 23, .52);
}
.bmpp-builder__calendar[hidden] { display: none !important; }
.bmpp-builder__calendar-dialog { width: min(900px, 100%); max-height: calc(100vh - 44px); overflow: auto; border: 1px solid #d8c9b5; background: #fffdf9; box-shadow: 0 24px 70px rgba(20, 15, 10, .3); }
body.bmpp-calendar-open { overflow: hidden; }
.bmpp-builder__calendar-head {
  display: grid;
  grid-template-columns: 42px 1fr 42px;
  align-items: center;
  padding: 12px 14px;
  border-bottom: 1px solid #e7ddcf;
  background: #faf6ef;
  text-align: center;
}
.bmpp-builder__calendar-head > button {
  width: 36px;
  height: 36px;
  padding: 0 !important;
  border: 1px solid #d8c9b5 !important;
  border-radius: 50% !important;
  background: #fffdf9 !important;
  color: #795027 !important;
  font-size: 27px;
  line-height: 1 !important;
}
.bmpp-builder__calendar-head > button:hover,
.bmpp-builder__calendar-head > button:focus { border-color: #9a6a35 !important; background: #f5eadb !important; }
.bmpp-builder__calendar-head > button:disabled { visibility: hidden; }
.bmpp-builder__calendar-head > button:last-child { justify-self: end; }
.bmpp-builder__calendar-head > strong { color: #4b3824; font-size: 14px; }
.bmpp-builder__calendar-months { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; padding: 20px 24px 22px; }
.bmpp-builder__calendar-month { min-width: 0; }
.bmpp-builder__calendar-month > h3 {
  margin: 0 0 14px !important;
  color: #332c25;
  font-size: 18px !important;
  line-height: 1.2 !important;
  text-align: center;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.bmpp-builder__calendar-weekdays,
.bmpp-builder__calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.bmpp-builder__calendar-weekdays span { padding: 6px 0 9px; color: #897b6d; font-size: 11px; font-weight: 800; text-align: center; }
.bmpp-builder__calendar-days > button,
.bmpp-builder__calendar-days > .is-blank { min-width: 0; height: 42px; }
.bmpp-builder__calendar-days > button {
  position: relative;
  z-index: 1;
  justify-self: center;
  width: 42px;
  min-width: 42px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #40372e !important;
  font-size: 13px;
  font-weight: 750;
}
.bmpp-builder__calendar-days > button:hover:not(:disabled),
.bmpp-builder__calendar-days > button:focus:not(:disabled) { background: #f5eadb !important; outline: 1px solid #c29a6b !important; }
.bmpp-builder__calendar-days > button.is-range { background: #f1e4d1 !important; }
.bmpp-builder__calendar-days > button.is-start,
.bmpp-builder__calendar-days > button.is-end {
  border-radius: 50% !important;
  background: #795027 !important;
  color: #fff !important;
}
.bmpp-builder__calendar-days > button:disabled { color: #c8c0b7 !important; cursor: not-allowed; }
.bmpp-builder__calendar-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 15px;
  border-top: 1px solid #e7ddcf;
  background: #faf6ef;
}
.bmpp-builder__calendar-foot span { display: flex; align-items: center; gap: 7px; color: #74695d; font-size: 11px; }
.bmpp-builder__calendar-actions { display:flex; align-items:center; gap:12px; }
.bmpp-builder__calendar-actions > strong { color:#4b3824; font-size:13px; white-space:nowrap; }
.bmpp-builder__calendar-foot i { width: 20px; height: 10px; background: #f1e4d1; border-left: 5px solid #795027; border-right: 5px solid #795027; }
.bmpp-builder__calendar-foot button {
  padding: 7px 14px !important;
  border: 1px solid #795027 !important;
  background: #795027 !important;
  color: #fff !important;
}

@media (max-width: 700px) {
  .bmpp-builder__calendar { padding: 10px; align-items: flex-start; }
  .bmpp-builder__calendar-dialog { max-height: calc(100vh - 20px); margin-top: 0; }
  .bmpp-builder__calendar-months { grid-template-columns: 1fr; padding: 17px 12px 18px; }
  .bmpp-builder__calendar-month:nth-child(2) { display: none; }
  .bmpp-builder__calendar-days > button,
  .bmpp-builder__calendar-days > .is-blank { height: 40px; }
  .bmpp-builder__calendar-days > button { width: 40px; min-width: 40px; }
}
