/* Custom date picker styling */
input[type="date"]::-webkit-calendar-picker-indicator {
    background: transparent;
    color: transparent;
    width: 20px;
    height: 20px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    opacity: 0;
    z-index: 10;
}

/* Hide default date picker icon in Firefox */
input[type="date"]::-moz-calendar-picker-indicator {
    opacity: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

/* Date input wrapper for custom icon */
.date-input-wrapper {
    position: relative;
}

.date-input-wrapper i {
    pointer-events: none;
    z-index: 1;
}

/* Disabled dates styling */
input[type="date"]:disabled {
    background-color: #f3f4f6;
    cursor: not-allowed;
}

/* Weekend dates warning */
.weekend-warning {
    display: none;
    position: absolute;
    bottom: -25px;
    left: 0;
    font-size: 12px;
    color: #ef4444;
}

input[type="date"]:invalid + .weekend-warning {
    display: block;
}

/* Date guide animation */
#date-guide {
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Highlight available dates */
input[type="date"]:valid {
    border-color: #10b981;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%2310b981" viewBox="0 0 16 16"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 16px;
    padding-right: 2.5rem;
}