/* ============================================================
   teample datepicker — flatpickr 브랜드 색상 오버라이드
   Primary Green: #16A34A / Hover: #15803D / Light: #DCFCE7
   ============================================================ */

/* 전체 달력 컨테이너 */
.flatpickr-calendar {
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(15, 23, 42, 0.14);
    border: 1px solid #E5E7EB;
    font-family: inherit;
    width: 308px;
}

/* 헤더 (월/년 영역) */
.flatpickr-months {
    background: #16A34A;
    border-radius: 14px 14px 0 0;
    padding: 4px 0;
}
.flatpickr-months .flatpickr-month {
    color: #fff;
    fill: #fff;
}
.flatpickr-current-month {
    color: #fff;
    font-weight: 600;
    font-size: 15px;
}
.flatpickr-current-month span.cur-month {
    font-weight: 700;
}
.flatpickr-current-month span.cur-month:hover {
    background: rgba(255,255,255,0.15);
}
.flatpickr-current-month input.cur-year {
    color: #fff;
    font-weight: 600;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
    color: #fff;
    font-weight: 600;
}
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
    border-bottom-color: rgba(255,255,255,0.8);
}
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
    border-top-color: rgba(255,255,255,0.8);
}

/* 이전/다음 월 화살표 */
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
    color: #fff;
    fill: #fff;
    padding: 9px 12px;
}
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
    color: #fff;
    background: rgba(255,255,255,0.15);
    border-radius: 8px;
}
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
    fill: #fff;
}
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
    fill: #fff;
    width: 12px;
    height: 12px;
}

/* 요일 헤더 */
.flatpickr-weekdays {
    background: #F0FDF4;
    padding: 4px 0;
}
span.flatpickr-weekday {
    color: #16A34A;
    font-weight: 700;
    font-size: 11px;
}
/* 일요일 강조 (첫 번째 열 — 일월화수목금토 기준) */
.flatpickr-weekdays .flatpickr-weekdaycontainer span:first-child {
    color: #EF4444;
}
/* 토요일 강조 (마지막 열) */
.flatpickr-weekdays .flatpickr-weekdaycontainer span:last-child {
    color: #3B82F6;
}

/* 날짜 셀 */
.flatpickr-day {
    border-radius: 10px;
    font-size: 14px;
    height: 37px;
    line-height: 37px;
    max-width: 39px; /* 39px 유지: 8×39=312 > 307.875px(dayContainer) → 한 줄 7칸 보장 */
    color: #111827;
}
.flatpickr-day:hover,
.flatpickr-day:focus {
    background: #DCFCE7;
    border-color: #DCFCE7;
    color: #15803D;
}

/* 오늘 */
.flatpickr-day.today {
    border-color: #16A34A;
    font-weight: 700;
    color: #16A34A;
}
.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
    background: #16A34A;
    border-color: #16A34A;
    color: #fff;
}

/* 선택된 날짜 */
.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.selected:focus {
    background: #16A34A;
    border-color: #16A34A;
    color: #fff;
    font-weight: 700;
    border-radius: 10px;
}

/* 이전/다음 달 날짜 */
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    color: #D1D5DB;
}

/* 비활성 날짜 */
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
    color: #E5E7EB;
}

/* 달력 하단 여백 */
.flatpickr-innerContainer {
    padding: 4px 4px 8px;
}

/* 달력 위 화살표 (arrowTop) */
.flatpickr-calendar.arrowTop:after {
    border-bottom-color: #16A34A;
}
.flatpickr-calendar.arrowTop:before {
    border-bottom-color: #16A34A;
}
.flatpickr-calendar.arrowBottom:after {
    border-top-color: #fff;
}

/* ── 모바일 반응형 ── */
@media (max-width: 380px) {
    .flatpickr-calendar {
        width: calc(100vw - 24px) !important;
        left: 12px !important;
        right: 12px !important;
    }
    .flatpickr-days,
    .dayContainer {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }
    .flatpickr-day {
        max-width: none;
    }
}

/* ── 일요일·공휴일·대체휴일 ── */
.flatpickr-day.is-sunday,
.flatpickr-day.is-holiday {
    color: #EF4444;
}
/* 호버 시에도 빨강 유지 (연한 빨강 배경) */
.flatpickr-day.is-sunday:hover,
.flatpickr-day.is-sunday:focus,
.flatpickr-day.is-holiday:hover,
.flatpickr-day.is-holiday:focus {
    background: #FEF2F2;
    border-color: #FCA5A5;
    color: #EF4444;
}
/* 오늘이 일요일/공휴일 → 빨강 테두리 */
.flatpickr-day.today.is-sunday,
.flatpickr-day.today.is-holiday {
    border-color: #EF4444;
    color: #EF4444;
}
.flatpickr-day.today.is-sunday:hover,
.flatpickr-day.today.is-holiday:hover {
    background: #EF4444;
    border-color: #EF4444;
    color: #fff;
}
/* 선택된 날이 일요일/공휴일 → 흰 텍스트 (초록 배경 위) */
.flatpickr-day.selected.is-sunday,
.flatpickr-day.selected.is-holiday,
.flatpickr-day.selected.is-sunday:hover,
.flatpickr-day.selected.is-holiday:hover {
    color: #fff;
}
/* 이전/다음 달의 일요일/공휴일 → 연한 빨강 */
.flatpickr-day.prevMonthDay.is-sunday,
.flatpickr-day.prevMonthDay.is-holiday,
.flatpickr-day.nextMonthDay.is-sunday,
.flatpickr-day.nextMonthDay.is-holiday {
    color: #FCA5A5;
}

/* 입력 필드 커서 */
.flatpickr-input[readonly] {
    cursor: pointer;
}
.flatpickr-input.input_date {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2316A34A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 34px !important;
}
