/* Bhromi full-screen picker sheets (same look as Stays Calendar / Occupancy) */
html.bhs-lock, html.bhs-lock body { overflow: hidden !important; }

.bhs {
  position: fixed; inset: 0; z-index: 2147483000;
  background: #fff; color: #0A1B2E;
  display: flex; flex-direction: column;
  font-family:"Inter","Noto Sans Bengali",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing: antialiased;
  animation: bhs-in .18s ease-out;
}
@keyframes bhs-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

.bhs__head {
  display: flex; align-items: center; gap: 8px;
  height: 56px; padding: 0 16px; flex: 0 0 auto;
  border-bottom: 1px solid #E4E7EC; background: #fff;
}
.bhs__x {
  width: 36px; height: 36px; margin-left: -8px; border: 0; background: transparent;
  display: inline-flex; align-items: center; justify-content: center; color: #0A1B2E; cursor: pointer; border-radius: 9999px;
}
.bhs__x svg { width: 20px; height: 20px; }
.bhs__title { font-size: 16px; font-weight: 700; margin: 0; color: #0A1B2E; }

.bhs__body { flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.bhs__foot { flex: 0 0 auto; border-top: 1px solid #E4E7EC; padding: 16px; padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)); background: #fff; }
.bhs__ok {
  width: 100%; height: 48px; border: 0; border-radius: 8px;
  background: #1B4FF1; color: #fff; font-size: 16px; font-weight: 700; cursor: pointer;
}
.bhs__ok:disabled { background: rgba(27,79,241,.4); cursor: not-allowed; }

/* ---- list (select / time) ---- */
.bhs__search { padding: 12px 16px 4px; position: sticky; top: 0; background: #fff; z-index: 1; }
.bhs__search input {
  width: 100%; height: 44px; border: 1px solid #E4E7EC; border-radius: 8px; padding: 0 14px;
  font-size: 15px; outline: none; background: #fff; color: #0A1B2E; box-sizing: border-box;
}
.bhs__search input:focus { border-color: #1B4FF1; }
.bhs__group { padding: 14px 16px 6px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #54627A; }
.bhs__row {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  min-height: 56px; padding: 12px 16px; border: 0; border-bottom: 1px solid #E4E7EC;
  background: #fff; text-align: left; font-size: 17px; color: #0A1B2E; cursor: pointer; font-family: inherit;
}
.bhs__row:active { background: #F7F8FB; }
.bhs__row[disabled] { color: #A3ADBD; cursor: not-allowed; }
.bhs__row--on { color: #1B4FF1; font-weight: 600; }
.bhs__radio { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 9999px; border: 2px solid #54627A; box-sizing: border-box; position: relative; }
.bhs__row--on .bhs__radio { border-color: #1B4FF1; }
.bhs__row--on .bhs__radio::after { content: ""; position: absolute; inset: 3px; border-radius: 9999px; background: #1B4FF1; }
.bhs__empty { padding: 40px 16px; text-align: center; color: #54627A; font-size: 14px; }

/* ---- calendar ---- */
.bhs__cards { display: flex; gap: 12px; padding: 16px 16px 8px; }
.bhs__card {
  flex: 1 1 0; min-width: 0; border: 1px solid #E4E7EC; border-radius: 12px; padding: 12px 14px; background: #fff;
}
.bhs__card--on { border-color: #1B4FF1; box-shadow: 0 0 0 1px #1B4FF1 inset; }
.bhs__card small { display: block; font-size: 13px; color: #54627A; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bhs__card b { display: block; font-size: 17px; font-weight: 700; margin-top: 2px; }
.bhs__hint { padding: 4px 16px 8px; color: #1B4FF1; font-size: 14px; font-weight: 600; min-height: 22px; }
.bhs__month { padding: 8px 16px 12px; }
.bhs__month h3 { text-align: center; font-size: 17px; font-weight: 700; margin: 12px 0 10px; }
.bhs__dow, .bhs__grid { display: grid; grid-template-columns: repeat(7, 1fr); }
.bhs__dow span { text-align: center; font-size: 13px; color: #54627A; padding: 6px 0; }
.bhs__day { position: relative; height: 46px; display: flex; align-items: center; justify-content: center; }
.bhs__day button {
  width: 100%; height: 40px; border: 0; background: transparent; font-size: 16px; font-weight: 500; color: #0A1B2E; cursor: pointer; font-family: inherit; padding: 0;
}
.bhs__day button[disabled] { color: #C3CAD6; cursor: not-allowed; }
.bhs__day--mid { background: rgba(27,79,241,.12); }
.bhs__day--mid button { color: #1B4FF1; }
.bhs__day--s, .bhs__day--e { background: transparent; }
.bhs__day--s button, .bhs__day--e button { background: #1B4FF1; color: #fff; font-weight: 700; border-radius: 9999px; width: 40px; margin: 0 auto; display: block; }
.bhs__day--s.bhs__day--range { background: linear-gradient(to right, transparent 50%, rgba(27,79,241,.12) 50%); }
.bhs__day--e.bhs__day--range { background: linear-gradient(to left, transparent 50%, rgba(27,79,241,.12) 50%); }
.bhs__day--today button { box-shadow: inset 0 0 0 1px #1B4FF1; border-radius: 9999px; width: 40px; margin: 0 auto; display: block; }
.bhs__day--s.bhs__day--today button, .bhs__day--e.bhs__day--today button { box-shadow: none; }

/* ---- stepper rows (counters) ---- */
.bhs__step { display: flex; align-items: center; justify-content: space-between; padding: 16px; border-bottom: 1px solid #E4E7EC; }
.bhs__step p { margin: 0; font-size: 17px; font-weight: 700; }
.bhs__step small { display: block; font-size: 13px; color: #54627A; margin-top: 2px; font-weight: 400; }
.bhs__ctr { display: flex; align-items: center; gap: 14px; }
.bhs__ctr button {
  width: 40px; height: 40px; border-radius: 9999px; border: 1px solid #1B4FF1; background: #fff; color: #1B4FF1;
  font-size: 22px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0;
}
.bhs__ctr button[disabled] { border-color: #E4E7EC; color: #C3CAD6; cursor: not-allowed; }
.bhs__ctr span { min-width: 24px; text-align: center; font-size: 17px; font-weight: 600; }

@media (min-width: 901px) and (pointer: fine) {
  .bhs { max-width: 520px; margin: 0 auto; box-shadow: 0 0 0 100vmax rgba(10,27,46,.45); }
}

/* original inline popovers are hidden while the full-screen sheet is shown */
[data-bhs-hide] { display: none !important; }

/* Rentals "Vehicle & options" modal -> full screen on phones */
@media (max-width: 640px) {
  div[role="dialog"][aria-label="Vehicle and options"] { align-items: stretch !important; }
  div[role="dialog"][aria-label="Vehicle and options"] > div.relative {
    max-height: 100% !important; height: 100% !important; border-radius: 0 !important; border: 0 !important;
  }
}
div[role="dialog"][aria-label="Vehicle and options"] { z-index: 2147482000 !important; }
