/* Shared promo-aware Flatpickr overrides for customer-facing date selection. */
.flatpickr-calendar.promo-date-calendar {
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, .35);
  box-shadow: 0 18px 45px rgba(15, 23, 42, .18);
  overflow: hidden;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.flatpickr-calendar.promo-date-calendar .flatpickr-day {
  border-radius: 10px;
  font-weight: 700;
}
.flatpickr-calendar.promo-date-calendar .flatpickr-day.promo-offpeak-day:not(.selected) {
  background: #fef3c7;
  border-color: #f59e0b;
  color: #92400e;
  box-shadow: inset 0 0 0 1px rgba(245, 158, 11, .18);
}
.flatpickr-calendar.promo-date-calendar .flatpickr-day.promo-offpeak-day:not(.selected):hover,
.flatpickr-calendar.promo-date-calendar .flatpickr-day.promo-offpeak-day:not(.selected):focus {
  background: #fde68a;
  border-color: #d97706;
  color: #78350f;
}
.flatpickr-calendar.promo-date-calendar .flatpickr-day.selected,
.flatpickr-calendar.promo-date-calendar .flatpickr-day.startRange,
.flatpickr-calendar.promo-date-calendar .flatpickr-day.endRange {
  background: #0f766e;
  border-color: #0f766e;
  color: #fff;
}
.flatpickr-calendar.promo-date-calendar .flatpickr-day.selected.promo-offpeak-day {
  box-shadow: 0 0 0 3px rgba(245, 158, 11, .28);
}
.flatpickr-calendar.promo-date-calendar .flatpickr-current-month,
.flatpickr-calendar.promo-date-calendar .flatpickr-weekday {
  font-weight: 800;
}
.flatpickr-input[readonly] {
  cursor: pointer;
  background-color: #fff;
}
.quote-offpeak-flex-note {
  line-height: 1.35;
}
@media (max-width: 640px) {
  .flatpickr-calendar.promo-date-calendar {
    width: min(330px, calc(100vw - 20px));
    max-width: calc(100vw - 20px);
  }
  .flatpickr-calendar.promo-date-calendar .flatpickr-days,
  .flatpickr-calendar.promo-date-calendar .dayContainer {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
  }
  .flatpickr-calendar.promo-date-calendar .flatpickr-day {
    max-width: none;
  }
}

html[data-theme="dark"] .flatpickr-calendar.promo-date-calendar {
  background: #0d222b;
  border-color: #365560;
  color: #edf7f8;
}
html[data-theme="dark"] .flatpickr-calendar.promo-date-calendar :is(.flatpickr-months, .flatpickr-weekdays) {
  background: #102a34;
}
html[data-theme="dark"] .flatpickr-calendar.promo-date-calendar :is(.flatpickr-current-month, .flatpickr-monthDropdown-months, .numInputWrapper input, .flatpickr-weekday) {
  color: #edf7f8;
  fill: #edf7f8;
}
html[data-theme="dark"] .flatpickr-calendar.promo-date-calendar .flatpickr-day {
  color: #d8e9ed;
}
html[data-theme="dark"] .flatpickr-calendar.promo-date-calendar .flatpickr-day.prevMonthDay,
html[data-theme="dark"] .flatpickr-calendar.promo-date-calendar .flatpickr-day.nextMonthDay,
html[data-theme="dark"] .flatpickr-calendar.promo-date-calendar .flatpickr-day.flatpickr-disabled {
  color: #617984;
}
html[data-theme="dark"] .flatpickr-calendar.promo-date-calendar .flatpickr-day:hover:not(.promo-offpeak-day) {
  background: #173844;
  border-color: #365560;
}
html[data-theme="dark"] .flatpickr-calendar.promo-date-calendar .flatpickr-day.promo-offpeak-day:not(.selected) {
  background: #4a3411;
  border-color: #d99a25;
  color: #ffe5a3;
}

/* v82 shared admin work-date/time picker styling */
.flatpickr-calendar.admin-work-date-calendar,
.flatpickr-calendar.admin-work-time-calendar {
  z-index: 1600;
}
.flatpickr-calendar.admin-work-time-calendar {
  width: 220px;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, .35);
  box-shadow: 0 18px 45px rgba(15, 23, 42, .18);
  overflow: hidden;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.flatpickr-calendar.admin-work-time-calendar .flatpickr-time {
  height: 54px;
  border-top: 0;
}
.flatpickr-calendar.admin-work-time-calendar .flatpickr-time input,
.flatpickr-calendar.admin-work-time-calendar .flatpickr-time .flatpickr-am-pm {
  font-size: 1rem;
  font-weight: 800;
}
html[data-theme="dark"] .flatpickr-calendar.admin-work-time-calendar {
  background: #0d222b;
  border-color: #365560;
  color: #edf7f8;
}
html[data-theme="dark"] .flatpickr-calendar.admin-work-time-calendar .flatpickr-time input,
html[data-theme="dark"] .flatpickr-calendar.admin-work-time-calendar .flatpickr-time .flatpickr-am-pm {
  color: #edf7f8;
}
html[data-theme="dark"] .flatpickr-calendar.admin-work-time-calendar .flatpickr-time input:hover,
html[data-theme="dark"] .flatpickr-calendar.admin-work-time-calendar .flatpickr-time input:focus,
html[data-theme="dark"] .flatpickr-calendar.admin-work-time-calendar .flatpickr-time .flatpickr-am-pm:hover {
  background: #173844;
}

/* v83 promo-management inline multi-date calendar */
.promo-offpeak-calendar-shell { width:100%; overflow-x:auto; padding:.15rem 0; }
.promo-offpeak-calendar-shell .flatpickr-calendar.inline { position:relative; top:auto; width:min(100%, 380px); max-width:100%; margin:0; box-shadow:none; border:1px solid rgba(217,119,6,.22); border-radius:14px; }
.promo-offpeak-calendar-shell .flatpickr-rContainer,
.promo-offpeak-calendar-shell .flatpickr-days,
.promo-offpeak-calendar-shell .dayContainer { width:100%; max-width:100%; min-width:0; }
.promo-offpeak-calendar-shell .flatpickr-day { max-width:none; }
.promo-offpeak-calendar-shell .flatpickr-day.selected,
.promo-offpeak-calendar-shell .flatpickr-day.selected:hover { background:#d97706; border-color:#d97706; color:#fff; font-weight:900; }
@media (max-width:480px) {
  .promo-offpeak-calendar-shell .flatpickr-calendar.inline { width:100%; }
  .promo-offpeak-calendar-shell .flatpickr-day { height:38px; line-height:38px; }
}
