/* Flatpickrのカスタムテーマ */
.flatpickr-calendar {
  background: #1e293b; /* ダークブルー寄りの背景 */
  border: none;
  border-radius: 1rem;
  box-shadow: 0 10px 25px rgba(0,0,0,0.4);
  color: #f8fafc; /* 白系文字 */
  font-weight: 500;
}

.flatpickr-day {
  color: #f8fafc;
}

.flatpickr-day:hover,
.flatpickr-day.today {
  background: linear-gradient(135deg, #6366f1, #8b5cf6); /* 視認性高いグラデ */
  color: white;
  border-radius: 0.5rem;
}

.flatpickr-weekday {
  color: #cbd5e1;
}

.flatpickr-month {
  color: #f8fafc;
}

.flatpickr-weekdays {
  border-bottom: 1px solid #334155;
}

.flatpickr-day.selected {
  background: #10b981; /* エメラルドグリーンで選択 */
  color: white;
}

/* 月・年の表示（2025年5月 の部分） */
.flatpickr-current-month,
.flatpickr-current-month .cur-month,
.flatpickr-current-month input.cur-year {
  color: #f8fafc !important;
}

/* 曜日ヘッダー：全曜日をまず白に */
.flatpickr-weekdays span.flatpickr-weekday {
  color: #f8fafc !important;
  font-weight: 600;
}

/* 日曜日 */
.flatpickr-weekdays span.flatpickr-weekday:nth-child(1) {
  color: #ef4444 !important;
}

/* 土曜日 */
.flatpickr-weekdays span.flatpickr-weekday:nth-child(7) {
  color: #3b82f6 !important;
}

.flatpickr-prev-month svg,
.flatpickr-next-month svg {
  fill: #f8fafc !important;
}

/* 曜日直下の区切り線（全部まとめて上書き） */
.flatpickr-weekdays,
.flatpickr-innerContainer,
.flatpickr-rContainer {
  border-color: #475569 !important; /* slate-600 */
}

.flatpickr-weekdays {
  border-bottom: 1.2px solid #e5e7eb !important; /* 少し明るい白 */
}

/* 前月・次月の日付（薄く表示） */
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
  color: rgba(248, 250, 252, 0.4) !important; /* 白を薄く */
}

/* 前月・次月の平日（白を薄く） */
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
  color: rgba(248, 250, 252, 0.4) !important;
}

/* 前月・次月の日曜日（薄い赤） */
.flatpickr-day.prevMonthDay:nth-child(7n+1),
.flatpickr-day.nextMonthDay:nth-child(7n+1) {
  color: rgba(239, 68, 68, 0.45) !important;
}

/* 前月・次月の土曜日（薄い青） */
.flatpickr-day.prevMonthDay:nth-child(7n),
.flatpickr-day.nextMonthDay:nth-child(7n) {
  color: rgba(59, 130, 246, 0.45) !important;
}