/* ============================================================
   FLATPICKR-THEME.CSS — the SHARED brand-green Flatpickr theme.

   Loaded APP-WIDE in base.html (after vendor/flatpickr/flatpickr.min.css) so
   EVERY Flatpickr instance on the site — the orders-list / export filter range
   pickers (filter-date-range.js) AND every single date / datetime field upgraded
   by date-pickers.js — renders with the V05 brand-green accent instead of
   Flatpickr's default blue.

   These rules are intentionally GLOBAL (not scoped to a wrapper): the calendar
   is portalled to <body>, so a scoping wrapper would not reach it. Selectors
   mirror flatpickr.min.css for matching specificity, and this file MUST load
   AFTER it so the green wins.

   The range-specific field chrome (.ol-field--range / .ol-range-input) lives in
   filter-date-range.css, which is the only consumer of those classes.
   ============================================================ */

/* Recolour Flatpickr's default blue accent to the V05 brand green. */
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: var(--enroute-green-500);
  border-color: var(--enroute-green-500);
  color: #fff;
}
/* in-range middle days: light green band */
.flatpickr-day.inRange {
  background: var(--enroute-green-50);
  border-color: var(--enroute-green-50);
  box-shadow: -5px 0 0 var(--enroute-green-50), 5px 0 0 var(--enroute-green-50);
}
.flatpickr-day.inRange:nth-child(7n+1) {
  box-shadow: -2px 0 0 var(--enroute-green-50), 5px 0 0 var(--enroute-green-50);
}
/* range-end adjacency + week-row connectors */
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  box-shadow: -10px 0 0 var(--enroute-green-500);
}
/* today marker */
.flatpickr-day.today { border-color: var(--enroute-green-400); }
.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
  background: var(--enroute-green-500);
  border-color: var(--enroute-green-500);
  color: #fff;
}
