/* Orthodox-themed flatpickr — gold/olive/cream palette */

.flatpickr-calendar {
  background: var(--surface, #FBF7EE);
  border: 1px solid var(--gold, #C8A04A);
  border-radius: 10px;
  box-shadow: 0 8px 28px rgba(62, 53, 40, 0.18);
  font-family: 'Source Sans 3', Georgia, serif;
  color: var(--text, #1A1612);
  width: 320px;
  padding-bottom: 6px;
}
.flatpickr-calendar.arrowTop:before, .flatpickr-calendar.arrowTop:after,
.flatpickr-calendar.arrowBottom:before, .flatpickr-calendar.arrowBottom:after {
  border-bottom-color: var(--gold, #C8A04A);
  border-top-color: var(--gold, #C8A04A);
}

.flatpickr-months {
  background: var(--olive, #3E3528);
  border-radius: 10px 10px 0 0;
  padding: 8px 4px;
}
.flatpickr-months .flatpickr-month,
.flatpickr-months .flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-months .flatpickr-current-month input.cur-year {
  color: var(--gold-light, #D4B86A);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 600;
  fill: var(--gold-light, #D4B86A);
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
  font-size: 1.05rem;
}
.flatpickr-current-month input.cur-year {
  font-size: 1.05rem;
}
.flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
  background: var(--olive, #3E3528);
  color: var(--gold-light, #D4B86A);
}
.flatpickr-prev-month, .flatpickr-next-month { fill: var(--gold-light, #D4B86A) !important; }
.flatpickr-prev-month:hover svg, .flatpickr-next-month:hover svg { fill: var(--gold, #C8A04A) !important; }

.flatpickr-weekdays {
  background: var(--cream, #F5EDD8);
  padding: 6px 0;
}
.flatpickr-weekday {
  color: var(--olive, #3E3528) !important;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.flatpickr-day {
  color: var(--text, #1A1612);
  border-radius: 6px;
  font-weight: 500;
  border: 1px solid transparent;
  margin: 1px;
}
.flatpickr-day:hover, .flatpickr-day:focus {
  background: rgba(200, 160, 74, 0.18);
  border-color: var(--gold, #C8A04A);
  color: var(--olive, #3E3528);
}
.flatpickr-day.today {
  border-color: var(--gold, #C8A04A) !important;
  background: rgba(200, 160, 74, 0.10);
  color: var(--gold-dark, #A8842F);
  font-weight: 700;
}
.flatpickr-day.today:hover {
  background: var(--gold, #C8A04A);
  color: white;
}
.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 {
  background: var(--olive, #3E3528) !important;
  border-color: var(--olive, #3E3528) !important;
  color: var(--gold-light, #D4B86A) !important;
  font-weight: 700;
}
.flatpickr-day.inRange {
  background: rgba(200,160,74,0.15);
  border-color: rgba(200,160,74,0.3);
  box-shadow: -5px 0 0 rgba(200,160,74,0.15), 5px 0 0 rgba(200,160,74,0.15);
}
.flatpickr-day.flatpickr-disabled, .flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay {
  color: rgba(107, 95, 74, 0.45);
}

/* Time picker */
.flatpickr-time {
  background: var(--cream, #F5EDD8);
  border-top: 1px solid var(--border, #E0D5BC);
  border-radius: 0 0 10px 10px;
}
.flatpickr-time input {
  color: var(--olive, #3E3528) !important;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 600;
  font-size: 1.1rem;
}
.flatpickr-time input:hover, .flatpickr-time input:focus {
  background: rgba(200,160,74,0.12);
}
.flatpickr-time .numInputWrapper:hover {
  background: rgba(200,160,74,0.12);
}

/* Make all date inputs visually consistent: subtle calendar icon hint */
input.flatpickr-input {
  background-image: linear-gradient(transparent, transparent);
}

/* Calendar icon for date inputs that haven't been picker-ized yet */
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  filter: invert(35%) sepia(28%) saturate(800%) hue-rotate(15deg);
  cursor: pointer;
  opacity: 0.7;
}
input[type="date"]:hover::-webkit-calendar-picker-indicator,
input[type="datetime-local"]:hover::-webkit-calendar-picker-indicator {
  opacity: 1;
}

/* Make flatpickr alt-input fill its grid cell exactly like other form-card inputs */
.form-card .flatpickr-input,
.form-card input.flatpickr-input.form-control.input,
.form-card input[type="text"].form-control.input,
.form-card .form-card input.flatpickr-input,
.form-card label > .flatpickr-input {
  width: 100%;
  box-sizing: border-box;
}
.form-card .flatpickr-input.form-control,
.form-card input.flatpickr-input + input,
.form-card label > input + input {
  width: 100%;
  padding: 0.55rem 0.7rem;
  border: 1px solid var(--border, #E0D5BC);
  border-radius: 6px;
  background: white;
  font-family: inherit;
  font-size: inherit;
  color: var(--text, #1A1612);
  box-sizing: border-box;
  display: block;
}
.form-card label > input + input:focus {
  outline: 2px solid var(--gold, #C8A04A);
  border-color: var(--gold, #C8A04A);
}
