/* CheapCheapy shared date picker */
.cc-date-trigger {
  width: 100%;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px !important;
  color: #111827;
  text-align: start;
  font: inherit;
  background: #fff;
  border: 1px solid #d8dee8;
  border-radius: 14px;
  cursor: pointer;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
/* Keep the shared button inside the existing multi-city field frame. */
.cc-date-trigger.segment-date {
  min-height: 0;
  height: 100%;
  padding: 0 12px !important;
  border: 0;
  border-radius: inherit;
  background: transparent;
  box-shadow: none;
}
.cc-date-trigger.segment-date:hover { background: transparent; }
.cc-date-trigger:hover { border-color: #9aa8ba; background: #fcfdff; }
.cc-date-trigger:focus-visible { outline: 3px solid rgba(11,124,255,.18); border-color: #0b7cff; }
.cc-date-trigger[aria-expanded="true"] { border-color: #0b7cff; box-shadow: 0 0 0 3px rgba(11,124,255,.12); }
.cc-date-trigger.is-empty .cc-date-trigger-label { color: #7b8492; }
.cc-date-trigger-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cc-date-trigger svg { flex: 0 0 20px; color: #536173; }
.cc-date-picker-popup {
  position: fixed;
  z-index: 2147483000;
  width: min(352px, calc(100vw - 24px));
  padding: 16px;
  color: #152033;
  background: #fff;
  border: 1px solid #e2e7ef;
  border-radius: 18px;
  box-shadow: 0 18px 55px rgba(15, 23, 42, .2), 0 3px 10px rgba(15, 23, 42, .08);
  font: 14px/1.4 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.cc-date-picker-popup[hidden] { display: none; }
.cc-date-picker-popup,
.cc-date-picker-popup * { box-sizing: border-box; }
.cc-date-picker-header { display: grid; grid-template-columns: 38px minmax(0,1fr) 38px; align-items: center; gap: 8px; margin-bottom: 14px; }
.cc-date-picker-heading { display: flex; justify-content: center; gap: 7px; }
.cc-date-picker-heading select {
  max-width: 150px; height: 38px; padding: 0 9px; color: #152033; background: #f7f9fc;
  border: 1px solid #e5eaf1; border-radius: 10px; font: inherit; font-weight: 700; cursor: pointer;
}
.cc-date-picker-nav {
  width: 38px; height: 38px; display: grid; place-items: center; color: #334155; background: #f7f9fc;
  border: 1px solid #e5eaf1; border-radius: 11px; cursor: pointer;
}
.cc-date-picker-nav:hover { color: #0b7cff; background: #eef5ff; }
.cc-date-picker-nav:disabled { opacity: .35; cursor: default; }
.cc-date-picker-weekdays, .cc-date-picker-grid { display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap: 4px; }
.cc-date-picker-weekday { display: grid; place-items: center; height: 32px; color: #7b8492; font-size: 11px; font-weight: 700; }
.cc-date-picker-day {
  min-width: 0; height: 38px; padding: 0; color: #263347; background: transparent; border: 1px solid transparent;
  border-radius: 11px; font: inherit; cursor: pointer;
}
.cc-date-picker-day:hover:not(:disabled) { color: #075fc4; background: #edf5ff; }
.cc-date-picker-day.is-today { border-color: #c6d9f4; color: #075fc4; font-weight: 800; }
.cc-date-picker-day.is-selected { color: #fff; background: #0b7cff; border-color: #0b7cff; font-weight: 800; box-shadow: 0 4px 10px rgba(11,124,255,.2); }
.cc-date-picker-day.is-outside { color: #aeb7c4; }
.cc-date-picker-day:disabled { color: #c4cbd5; cursor: not-allowed; text-decoration: line-through; }
.cc-date-picker-footer { display: flex; justify-content: space-between; gap: 8px; padding-top: 12px; margin-top: 12px; border-top: 1px solid #edf0f4; }
.cc-date-picker-action { min-height: 36px; padding: 0 11px; color: #0b63ce; background: transparent; border: 0; border-radius: 9px; font: inherit; font-weight: 700; cursor: pointer; }
.cc-date-picker-action:hover { background: #edf5ff; }
.cc-date-picker-action:disabled { color: #b7c0cc; cursor: default; }
[dir="rtl"] .cc-date-picker-popup { direction: rtl; }
@media (max-width: 420px) {
  .cc-date-picker-popup { padding: 13px; border-radius: 16px; }
  .cc-date-picker-day { height: 40px; }
}
