.dp-popover {
  position: absolute;
  z-index: 9000;
  border-radius: 8px;
  padding: 15px 22px;
  width: max-content;
  display: none;
  box-sizing: border-box;
  transform: translateX(-50%);
}
.dp-popover.is-open { display: block; }
.dp-months { display: flex; gap: 40px; }
.dp-month { width: 336px; }
.dp-mhdr { display: flex; align-items: center; height: 30px; margin-bottom: 12px; }
.dp-mnav { width: 30px; display: flex; }
.dp-mnav.prev { justify-content: flex-start; }
.dp-mnav.next { justify-content: flex-end; }
.dp-mnav-btn { background: transparent; border: none; cursor: pointer; font-size: 24px; line-height: 1; padding: 0; }
.dp-mtitle { flex: 1; text-align: center; }
.dp-dow-row { display: grid; grid-template-columns: repeat(7, 1fr); margin-bottom: 6px; }
.dp-dow { text-align: center; font-family: Inter, sans-serif; font-size: 12px; font-weight: 500; }
.dp-cells { display: grid; grid-template-columns: repeat(7, 1fr); }
.dp-band { height: 44px; width: 100%; display: flex; align-items: center; justify-content: center; }
.dp-day {
  width: 42px; height: 42px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: Inter, sans-serif; font-size: 15px; font-weight: 500;
  border: none; background: transparent; cursor: pointer; transition: background .15s;
}
.dp-day:disabled { cursor: default; }
.dp-flex-row { display: flex; gap: 10px; margin-top: 24px; flex-wrap: wrap; }
.dp-pill {
  padding: 10px 16px; border-radius: 999px;
  font-family: Inter, sans-serif; font-size: 13px; white-space: nowrap;
  cursor: pointer; background: transparent; border: 1px solid;
}
.dp-mob {
  position: fixed; top: 0; left: 0; right: 0; z-index: 9999;
  height: 100vh;
  height: -webkit-fill-available;
  height: 100svh;
  display: none; flex-direction: column; background: #f7f3e6;
}
.dp-mob.is-open { display: flex; }
.dp-mob-hdr { flex: none; }
.dp-mob-title {
  font-family: Inter, sans-serif; font-size: 24px; font-weight: 600;
  font-style: normal; text-transform: uppercase; color: #363535; text-align: center;
}
.dp-mob-dlabel { font-family: Inter, sans-serif; font-size: 14px; color: #363535; text-align: center; margin-top: 4px; }
.dp-mob-scroll { flex: 1; min-height: 0; overflow-y: auto; padding: 8px 20px 12px; }
.dp-mob-month { margin-bottom: 22px; }
.dp-mob-mtitle {
  font-family: Inter, sans-serif; font-size: 12px; font-weight: 300;
  font-style: normal; text-transform: uppercase; letter-spacing: 1.5px;
  color: #363535; text-align: center; width: 100%; margin: 6px 2px 12px;
}
.dp-mob-foot {
  flex: none;
  background: #f7f3e6;
  position: sticky;
  bottom: 0;
  padding-bottom: env(safe-area-inset-bottom, 16px);
}
.dp-mob-flex-row { display: flex; gap: 8px; padding: 14px 20px 4px; overflow-x: auto; }
.dp-mob-flex-row::-webkit-scrollbar { display: none; }
.dp-mob-actions { display: flex; align-items: center; background-color: rgb(251, 250, 246) !important; justify-content: space-between; padding: 14px 30px; }
.dp-mob-reset {
  background: transparent; border: none; font-family: Inter, sans-serif;
  font-size: 13px; font-weight: 400; color: #363535;
  text-decoration: none; cursor: pointer; padding: 0;
}
.dp-mob-search { border: none; border-radius: 999px; padding: 0 20px; height: 32px; font-family: Inter, sans-serif; font-size: 13px; font-weight: 400; cursor: pointer; }

[date-picker] input[date-picker-label] {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  width: 100%;
  color: inherit;
}

.dp-mob-load-more {
  display: block;
  width: calc(100% - 48px);
  margin: 16px 24px 24px;
  padding: 14px;
  background: transparent;
  border: 1px solid rgba(54,53,53,0.25);
  border-radius: 999px;
  font-family: Inter, sans-serif;
  font-size: .94rem !important;
  font-weight: 300 !important;
  cursor: pointer;
  color: #363535;
}

.item-mapbox[data-unavailable="1"]:hover [available-state="overlay"] {
  visibility: visible !important;
  opacity: 1 !important;
  display: block !important;
}

/* dark-short : opacité 50% si vide, 100% si rempli */
[search-bar="dark-short"] [date-picker-label] {
  opacity: 0.5;
  transition: opacity 0.2s;
}
[search-bar="dark-short"] [date-picker-label].is-filled {
  opacity: 1;
}
[search-bar="dark-short"] [data-placeholder-voyageurs] {
  opacity: 0.5;
  transition: opacity 0.2s;
}
[search-bar="dark-short"] [data-placeholder-voyageurs].is-filled {
  opacity: 1;
}