/* Flatpickr theme — EXPLORER dossier style.
   Squared (no rounded corners), parchment card, ink border, expedition-green
   header, rust (terracotta) selection, Work Sans numerals. Matches the
   Explorer form: paper #f6efdd, ink #2b2417, green #5c6933 / #2c3a27,
   rust #b5492c. Loaded on every page with a date field (choose, city,
   itinerary, admin, blog-editor). */

/* ---- calendar shell: squared parchment dossier card ---- */
.flatpickr-calendar{
  background:#f6efdd !important;
  border:1px solid #2b2417 !important;
  border-radius:0 !important;
  box-shadow:6px 6px 0 rgba(43,36,23,.18) !important;
  font-family:'Work Sans',-apple-system,sans-serif;
}
.flatpickr-calendar.arrowTop:before{ border-bottom-color:#2b2417 !important; }
.flatpickr-calendar.arrowTop:after{ border-bottom-color:#5c6933 !important; }
.flatpickr-calendar.arrowBottom:before{ border-top-color:#2b2417 !important; }
.flatpickr-calendar.arrowBottom:after{ border-top-color:#f6efdd !important; }

/* ---- month header: expedition green, squared ---- */
.flatpickr-months{
  background:#5c6933 !important;
  border-radius:0 !important;
  padding:9px 0 6px;
  border-bottom:1px solid #2b2417;
}
.flatpickr-months .flatpickr-month{ color:#f6efdd !important; fill:#f6efdd !important; }
.flatpickr-current-month{ font-family:'Work Sans',monospace; font-size:.95rem; }
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year{
  color:#f6efdd !important; font-weight:700; font-family:'Work Sans',monospace;
}
.flatpickr-current-month .flatpickr-monthDropdown-months{ background:#5c6933; }
.flatpickr-current-month .flatpickr-monthDropdown-months option{ color:#2b2417; background:#f6efdd; }
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month{ fill:#f6efdd; color:#f6efdd; }
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg{ fill:#f6efdd; }
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg{ fill:#c99a45 !important; }

/* ---- weekday row: darker green band, mono caps ---- */
.flatpickr-weekdays{ background:#2c3a27 !important; }
span.flatpickr-weekday{
  background:#2c3a27 !important; color:rgba(246,239,221,.85) !important;
  font-family:'Work Sans',monospace; font-weight:600; font-size:.68rem;
  letter-spacing:.06em; text-transform:uppercase;
}

/* ---- day cells: mono numerals, squared ---- */
.flatpickr-day{
  color:#2b2417;
  font-family:'Work Sans',monospace;
  border-radius:0 !important;
  border:1px solid transparent;
}
.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay{ color:rgba(43,36,23,.35); }
.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{ color:rgba(43,36,23,.22); }

.flatpickr-day:hover,
.flatpickr-day:focus{ background:rgba(168,72,42,.12) !important; border-color:transparent; }

.flatpickr-day.today{ border-color:#b5492c !important; }
.flatpickr-day.today:hover,
.flatpickr-day.today:focus{ background:#b5492c !important; border-color:#b5492c !important; color:#fff !important; }

.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover{
  background:#b5492c !important; border-color:#b5492c !important; color:#fff !important;
  box-shadow:none !important;
}
.flatpickr-day.inRange{
  background:rgba(63,81,56,.14) !important;
  border-color:rgba(63,81,56,.14) !important;
  box-shadow:-5px 0 0 rgba(63,81,56,.14), 5px 0 0 rgba(63,81,56,.14) !important;
}
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange:nth-child(7n+7){ box-shadow:none !important; }

/* ---- time picker (if used) ---- */
.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus{ background:rgba(63,81,56,.1); }
.flatpickr-time input{ color:#2b2417; font-family:'Work Sans',monospace; }

/* every date input gets the calendar cursor */
input[type="date"], input.flatpickr-input{ cursor:pointer; }

/* ---- narrow screens: the calendar popup is normally a fixed ~308px wide,
   which can spill past a narrow form (phones, or a browser window resized
   down to check mobile). The date fields are set up with flatpickr's
   "static" mode, which attaches the calendar inside the field's own wrapper
   (instead of the page body) — so pinning it to 100% width here ties it to
   the exact width of the field itself, matching every other field on the
   form, rather than to the viewport (which can be wider than the form). ---- */
@media(max-width:480px){
  .flatpickr-calendar{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .flatpickr-innerContainer,
  .flatpickr-rContainer,
  .flatpickr-days,
  .dayContainer{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }
}
