/**
 * DatePicker Component Styles
 *
 * Custom theme for Flatpickr library using our CSS variables
 * Supports light/dark themes automatically
 */

/* === DATEPICKER WRAPPER === */
.datepicker-wrapper {
    position: relative;
    width: 100%;
}

/* === INPUT FIELD === */
/* === INPUT FIELD === */
.datepicker-input {
    width: 100%;
    height: 38px;
    padding: var(--space-2) var(--space-3);
    padding-right: 40px; /* Space for icon */
    font-family: var(--font-family);
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    background-color: var(--bg-secondary);
    background-image: none !important; /* <--- ДОБАВЛЕНО: Убирает иконку flatpickr */
    border: 1px solid var(--border-secondary);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: all var(--transition-base);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.datepicker-input:hover {
    background-color: var(--bg-hover);
    border-color: var(--border-hover);
}

.datepicker-input:focus,
.datepicker-input.active {
    outline: none;
    background-color: var(--bg-primary);
    border-color: var(--brand-primary);
}

.datepicker-input::placeholder {
    color: var(--text-tertiary);
}

/* === INHERITED DATE STYLING === */
/* Shows inherited/fallback date with gray color and italic style */
.datepicker-input.datepicker-inherited {
    color: var(--text-tertiary) !important;
    font-style: italic;
    background-color: var(--bg-tertiary);
}

/* === CALENDAR ICON === */
.datepicker-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    color: var(--text-secondary);
    pointer-events: none;
}

/* === PRESETS === */
.datepicker-presets {
    display: flex;
    gap: 8px;
    margin-top: 8px;
    flex-wrap: wrap;
}

.datepicker-preset-btn {
    padding: 6px 12px;
    font-size: var(--font-size-sm);
    font-family: var(--font-family);
    color: var(--text-secondary);
    background-color: transparent;
    border: 1px solid var(--border-primary);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all var(--transition-base);
}

.datepicker-preset-btn:hover {
    background-color: var(--bg-tertiary);
    border-color: var(--border-secondary);
    color: var(--text-primary);
}

/* === FLATPICKR CALENDAR OVERRIDES === */
/* Container */
.flatpickr-calendar {
    background-color: var(--bg-primary) !important;
    border: 1px solid var(--border-primary) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: var(--shadow-lg) !important;
    font-family: var(--font-family) !important;
}

.flatpickr-calendar.open {
    z-index: 9999 !important;
}

/* Month navigation */
.flatpickr-months {
    background-color: var(--bg-secondary) !important;
    border-bottom: 1px solid var(--border-primary) !important;
    padding: 10px !important;
}

.flatpickr-current-month {
    color: var(--text-primary) !important;
    font-weight: var(--font-weight-semibold) !important;
}

.flatpickr-current-month input.cur-year {
    color: var(--text-primary) !important;
    font-weight: var(--font-weight-semibold) !important;
}

.flatpickr-monthDropdown-months {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-primary) !important;
}

.flatpickr-monthDropdown-months option {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

/* Navigation arrows */
.flatpickr-prev-month,
.flatpickr-next-month {
    color: var(--text-secondary) !important;
    fill: var(--text-secondary) !important;
}

.flatpickr-prev-month:hover,
.flatpickr-next-month:hover {
    color: var(--text-primary) !important;
    fill: var(--text-primary) !important;
}

.flatpickr-prev-month svg,
.flatpickr-next-month svg {
    fill: var(--text-secondary) !important;
}

.flatpickr-prev-month:hover svg,
.flatpickr-next-month:hover svg {
    fill: var(--text-primary) !important;
}

/* Weekdays */
.flatpickr-weekdays {
    background-color: var(--bg-secondary) !important;
}

.flatpickr-weekday {
    color: var(--text-secondary) !important;
    font-weight: var(--font-weight-medium) !important;
}

/* Days container */
.flatpickr-days {
    background-color: var(--bg-primary) !important;
}

.flatpickr-day {
    color: var(--text-primary) !important;
    border: none !important;
    border-radius: var(--radius-sm) !important;
}

/* Day states */
.flatpickr-day:hover {
    background-color: var(--bg-hover) !important;
    border-color: var(--bg-hover) !important;
}

.flatpickr-day.today {
    border: 1px solid var(--brand-primary) !important;
    color: var(--brand-primary) !important;
}

.flatpickr-day.selected {
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    color: var(--text-inverse) !important;
}

.flatpickr-day.selected:hover {
    background-color: var(--brand-primary-hover) !important;
    border-color: var(--brand-primary-hover) !important;
}

.flatpickr-day.inRange {
    background-color: var(--brand-primary-light) !important;
    border-color: var(--brand-primary-light) !important;
    color: var(--text-primary) !important;
    box-shadow: none !important;
}

.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    color: var(--text-inverse) !important;
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    color: var(--text-tertiary) !important;
}

.flatpickr-day.disabled {
    color: var(--text-disabled) !important;
    cursor: not-allowed !important;
}

/* Time picker (if enabled) */
.flatpickr-time {
    border-top: 1px solid var(--border-primary) !important;
    background-color: var(--bg-secondary) !important;
}

.flatpickr-time input {
    color: var(--text-primary) !important;
    background-color: var(--bg-primary) !important;
}

/* === DARK THEME ADJUSTMENTS === */
[data-theme='dark'] .flatpickr-calendar {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
    .datepicker-presets {
        gap: 6px;
    }

    .datepicker-preset-btn {
        padding: 4px 10px;
        font-size: 0.75rem;
    }

    .flatpickr-calendar {
        font-size: 14px !important;
    }
}
