.date-input-wrap,
.datetime-input-wrap {
    position: relative;
    width: 100%;
    cursor: pointer;
    border-radius: 12px;
}

.date-input-wrap:hover .date-picker-input,
.date-input-wrap:hover .datetime-input,
.date-input-wrap:hover .form-control-custom,
.date-input-wrap:hover .form-control-sm,
.datetime-input-wrap:hover .date-picker-input,
.datetime-input-wrap:hover .datetime-input {
    border-color: #3498db;
}

.date-input-wrap:focus-within,
.datetime-input-wrap:focus-within {
    box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1);
    border-radius: 12px;
}

.date-input-wrap .date-input-icon,
.date-input-wrap .datetime-input-icon,
.datetime-input-wrap .date-input-icon,
.datetime-input-wrap .datetime-input-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #3498db;
    font-size: 0.9rem;
    pointer-events: none;
    z-index: 2;
}

.date-input-wrap .date-picker-input,
.date-input-wrap .datetime-input,
.date-input-wrap .form-control-custom,
.date-input-wrap .form-control-sm,
.datetime-input-wrap .date-picker-input,
.datetime-input-wrap .datetime-input {
    padding-left: 38px;
    padding-right: 42px;
    cursor: pointer;
    width: 100%;
}

.date-picker-btn,
.datetime-picker-btn {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: #e8f4fd;
    color: #3498db;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 3;
    padding: 0;
    font-size: 0.85rem;
}

.date-input-wrap-sm .date-picker-btn,
.date-input-wrap-sm .datetime-picker-btn {
    width: 28px;
    height: 28px;
    font-size: 0.75rem;
}

.date-picker-btn:hover,
.datetime-picker-btn:hover {
    background: #3498db;
    color: #fff;
}
